У меня есть функция в Symfony3 с Doctrine2, который ищет ближайший партнер, используя широту и долготу:Получить неподключенное поле в родном запросе в Doctrine2
public function findNearestPartner($lat,$lng) {
$rsm=new ResultSetMappingBuilder($this->_em);
$rsm->addRootEntityFromClassMetadata('AppBundle\Entity\Partner','p');
$sqlQuery="SELECT p.*, (6371 * acos(cos(radians(:lat)) * cos(radians(p.latitude)) * cos(radians(p.longitude) - radians(:lng)) + sin(radians(:lat)) * sin(radians(p.latitude)))) AS distance
FROM sp_partner p
ORDER BY distance ASC
LIMIT 0,1";
$query=$this->_em
->createNativeQuery($sqlQuery,$rsm)
->setParameter('lat',$lat)
->setParameter('lng',$lng)
;
return $query->getOneOrNullResult();
}
Как вы видите, я получаю ближайший партнер -Entity назад - но есть также поле «расстояние», которое я не верну (но это было бы очень полезно). Есть ли способ получить значение этого поля? Я читал в документе (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/native-sql.html), но я не могу найти ничего полезного для этого случая.
Большое спасибо! – cklm