Normalerweise zurückkehren, wenn ich eine DQL-Abfrage wie unten laufen würde es eine Liste von Unternehmen zurückgeben Objekte:DQL eine Reihe von Einheiten anstelle von Objekten
$d = $this->getDoctrine()->getRepository('xxxWebsiteBundle:Locations')->createQueryBuilder('l');
->where('l.enabled = :enabled')
->setParameter('enabled', 1)
$result= $d
->getQuery();
Wenn ich jedoch eine Auswahl hinzufügen dann wird ein Array :
$d = $this->getDoctrine()->getRepository('XXXWebsiteBundle:Locations')->createQueryBuilder('l');
$d
->select('l')
->addSelect(
'(3959 * acos(cos(radians(' . $latitude . '))' .
'* cos(radians(l.latitude))' .
'* cos(radians(l.longitude)' .
'- radians(' . $longitude . '))' .
'+ sin(radians(' . $latitude . '))' .
'* sin(radians(l.latitude)))) as distance'
)
->where('l.enabled = :enabled')
->setParameter('enabled', 1)
->having('distance < :distance')
->setParameter('distance', $requestedDistance)
->orderBy('distance', 'ASC');
$closeresult= $d
->getQuery();
So die erste Abfrage konnte ich folgendes tun:
foreach($result->getResult() as $location){
echo $location->getName()
}
jedoch die zweite q mit ich muss folgendes verwenden, von dem ich annehme, dass es nicht korrekt ist:
foreach($result->getResult() as $location){
echo $location[0]->getName()
}
Irgendwelche Ideen, wie ich das verbessern kann?
Ehrfürchtig:
In Ihrem Beispiel wäre es wie folgt sein! Vielen Dank – user1961082