嗨专家:我在构建查询时遇到问题,以提取使用' 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可以和其他FoodItems一起吃得最好,因此&best;最好的吃饭'是一系列属于相同的“食物”的“ID&ID”。文档。
我使用的查询如下 -
$qb = $dm->createQueryBuilder('AppBundle:FoodItem')
->select("name", "bestEatenWith", "nutrition")
->eagerCursor(true)
->hydrate(false);
$query = $qb->getQuery();
$result = $query->execute();
然后使用Twig模板显示我得到的结果,我可以在Twig中显示' name'和'营养',但我得到了最好吃的'作为一个“Id”的数组
问题1:如何使用PHP解析$ result并访问' bestEatenWith'数组中包含的' ID? ?
问题2:我是否可能得到类似于' bestEatenWith.name'在一个查询中?
答案 0 :(得分:0)
问题1
在控制器中使用dump
函数转储结果:
dump($result);
问题2
通常,您可以在bestEatenWith
$result
中存在的名称
答案 1 :(得分:0)
感谢Mohamed的回答,你回答了我的部分问题。然而,我已经在第二部分找到了答案,这使得它成为一个完整的答案。
这是我做的 -
回答1
回答2