Чтобы просто получить все People
и Places
в одном массиве, вы можете использовать:
$query = $entityManager->createQuery('select people, places from App:People people, App:Places places');
Я думаю, вы захотите получить их для данного Poi
, в этом случае, еслиу вас есть только идентификатор POI, который вы можете попробовать:
$query = $entityManager
->createQuery('select people, places from App:People people, App:Places places where people.poi = :poi and places.poi = :poi')
->setParameter('poi', $poiId)
;
Естественно, если в вашем распоряжении есть объект Poi
, вы можете просто сделать
$peopleAndPlaces = [$poi->getPeople(), $poi->getPlaces()]
Обратите внимание, чтодля того, чтобы вышеприведенный код работал, вы должны добавить эти методы к соответствующим классам сущностей и убедиться, что отношения с Poi
являются двунаправленными
Если вам по какой-либо причине часто требуется получить этомассив, и у вас есть Poi
объект сущности, возможно, было бы неплохо добавить метод к Poi
классу
class Poi
{
...
public function getPeopleAndPlaces()
{
return [$this->getPeople(), $this->getPlaces()];
}
и затем вызвать $poi->getPeopleAndPlaces()
при необходимости.