Hi,
Ik heb een query die joint 2 keer op de zelfde tabel. Alles prima so far, maar het irritante hiervan is dat hierdoor velden worden overschreven. Beetje verwarrend... ik leg het uit met een voorbeeld, ik heb:
Velden lastopen_user_id en lastedit_user_id joinen allebei op dezelfde users tabel.
In SQL gaat dit natuurlijk prima en velden in `lo` kan je prima benaderen via lo.user_name. Maarrr als ik dit in PHP terugkrijg als een array zullen alle velden van de gejoinde users tabel worden overschreven omdat ze 2 keer bestaan in het result object.
Nou kan ik natuurlijk alles gaan aliassen
Maar dat is allemaal handmatig werk, en tevens veel, gezien de daadwerkelijke tabellen heeeel wat meer velden hebben.
Is er dus een manier om dit automatisch te doen of dat ik de resultset van de joins in een nested array terugkrijg ofzo?
Ik heb een query die joint 2 keer op de zelfde tabel. Alles prima so far, maar het irritante hiervan is dat hierdoor velden worden overschreven. Beetje verwarrend... ik leg het uit met een voorbeeld, ik heb:
code:
1
2
| object_id object_name lastopen_user_id lastedit_user_id 1 bla 100 103 |
Velden lastopen_user_id en lastedit_user_id joinen allebei op dezelfde users tabel.
SQL:
1
2
3
4
| SELECT * FROM objects o JOIN users AS lo ON lo.user_id = o.lastopen_user_id JOIN users AS le ON le.user_id = o.lastedit_user_id |
In SQL gaat dit natuurlijk prima en velden in `lo` kan je prima benaderen via lo.user_name. Maarrr als ik dit in PHP terugkrijg als een array zullen alle velden van de gejoinde users tabel worden overschreven omdat ze 2 keer bestaan in het result object.
Nou kan ik natuurlijk alles gaan aliassen
SQL:
1
2
3
4
5
6
7
| SELECT o.*, lo.user_name lastopen_user_name, le.user_name lastedit_user_name FROM objects o JOIN users AS lo ON lo.user_id = o.lastopen_user_id JOIN users AS le ON le.user_id = o.lastedit_user_id |
Maar dat is allemaal handmatig werk, en tevens veel, gezien de daadwerkelijke tabellen heeeel wat meer velden hebben.
Is er dus een manier om dit automatisch te doen of dat ik de resultset van de joins in een nested array terugkrijg ofzo?
.