Doppelte Array Schlüssel in Lehre Ergebnis
Frage
Für eine Website i baue ich überprüfen müssen, ob ein Standort Verträge hat, können diese Stellen Verträge direkt mit ihnen verbunden sind oder, wenn es Teil einer größeren Organisation auch Verträge, die mit der Organisation verbunden sind.
Ich versuche, eine DQL-Abfrage erste Prüfung zu verwenden, wenn es Verträge direkt verknüpft sind, und dann, wenn es mit dieser Abfrage über eine Organistion jede verknüpft ist:
$q = self::createQuery("l")
->select('sl.sc_id, sl.type, so.sc_id, so.type, l.naam, l.loc_id, l.straat, l.telefoon, l.plaats, l.postcode, l.huisnummer, l.huisnummer_achtervoegsel, o.naam')
->from('Locatie l, l.Organisatie o, l.Sc sl, o.Sc so')
->orderBy('o.naam, l.naam')
->execute();
Es tut, was ich will in so viel wie, dass es einen Array mit allen Daten zurückgibt ich brauche:
array(13) {
["loc_id"]=> string(2) "93" ["org_id"]=> string(1) "9" ["naam"]=> string(12) "test"
["Organisatie"]=> array(4) { ["org_id"]=> string(1) "9" ["naam"]=> string(3) "test"
["Sc"]=> array(1) { [0]=> array(6) { ["sc_id"]=> string(1) "1" ["sc_nummer"]=> NULL ["type"]=> string(6) "All-in" } } }
["Sc"]=> array(0) { }
}
Das Problem ist das doppelte [ „Sc“] -Taste drücken, weil in PHP, wenn ein Array Nachschlüssel, dass letzter Schlüssel überschreibt die erste (was ich sowieso lesen), dies macht es unmöglich, einen Scheck wie zu machen:
if(!empty($SC) or !empty($SC2) {}
Ich kann nicht scheinen, um herauszufinden, wie Lehre Namen einen des Schlüssels machen anders oder vielleicht sogar die beiden zusammenführen.
Ich habe versucht INDEXBY
verwenden, aber dass der Schlüssel im Inneren des [ 'SC'] Array und nicht [ 'SC'] sich geändert.
Irgendwelche Ideen?
Lösung
Sie können es in der Abfrage umbenennen. Also in Ihrem Beispiel wäre, dass nur auf dem sc_id
wie etwas ändern
[...] sl.sc_id AS your_new_key [...]