Привет эксперты: У меня возникла проблема с созданием запроса для извлечения информации о документе, на который ссылаются с помощью ссылки «referenceMany». Вот пример установки кодаsymfony mongodb odm referenceMany
class FoodItem{
/**
* @MongoDb\Id
*/
protected Id;
/**
* @MongoDb\field(type="string")
*/
protected name;
/**
* @MongoDb\field(type="float")
*/
protected calories;
/**
* @MongoDb\ReferenceMany(targetDocument="FoodItem", storeAs="id")
*/
protected $bestEatenWith = array();
}
Идея заключается в том 1 FoodItem может быть bestEatenWith других FoodItems, поэтому «bestEatenWith» представляет собой массив «Id принадлежит к той же„документа FoodItem“.
Запрос я использовал это следующим образом -
$qb = $dm->createQueryBuilder('AppBundle:FoodItem')
->select("name", "bestEatenWith", "nutrition")
->eagerCursor(true)
->hydrate(false);
$query = $qb->getQuery();
$result = $query->execute();
В результате я получаю затем отображается с помощью шаблона Twig, и я могу показать в Twig, «Имя» и «питание», но я получаю ' bestEatenWith «как массив» идентификаторы
Вопрос 1: Как разобрать через $ результат с помощью PHP и доступа к Ид, содержащийся в массиве „bestEatenWith“?
Вопрос 2: Могу ли я получить что-то вроде «bestEatenWith.name» в одном запросе?