嗨,專家:我有一個問題建立一個查詢,以提取已使用'referenceMany'引用的文檔的詳細信息。下面是代碼symfony mongodb odm reference許多
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」是「標識的屬於同一‘FoodItem’文件的陣列。
我使用的查詢如下 -
$qb = $dm->createQueryBuilder('AppBundle:FoodItem')
->select("name", "bestEatenWith", "nutrition")
->eagerCursor(true)
->hydrate(false);
$query = $qb->getQuery();
$result = $query->execute();
結果我得到的,然後用嫩枝模板顯示,我可以在嫩枝,在「名稱」和「營養」顯示,但我得到' bestEatenWith'作爲'數組的ID'
問題1:如何使用PHP解析$ result並訪問包含在'bestEatenWith'數組中的Id?
問題2:我可能不會在單個查詢中找到類似'bestEatenWith.name'的東西嗎?