symfony mongodb odm referenceMany



hi专家:我有一个问题构建查询,以提取使用'referenceMany'引用的文档的详细信息。这是代码的示例设置

class FoodItem{
    /**
    * @MongoDbId
    */
    protected Id;
   /**
   * @MongoDbfield(type="string")
   */
    protected name;
    /**
    * @MongoDbfield(type="float")
    */
    protected calories;
    /**
    * @MongoDbReferenceMany(targetDocument="FoodItem", storeAs="id")
    */
    protected $bestEatenWith = array();
}

这个想法是1 fooditem可以是其他食物限制的,因此" besteatenwith"是一系列" id属于同一'fooditem'文件。

我使用的查询如下 -

    $qb = $dm->createQueryBuilder('AppBundle:FoodItem')
        ->select("name", "bestEatenWith", "nutrition")
        ->eagerCursor(true)
        ->hydrate(false);
    $query = $qb->getQuery();
    $result = $query->execute();

我得到的结果是用树枝模板显示的,我可以在树枝,"名称"one_answers"营养"中显示,但是我得到了" festeatenwith"作为" ID"的数组

问题1:如何使用php通过$结果分析并访问" besteatenwith"数组中包含的'id?

问题2:我可以在单个查询中无法获得'Besteatenwith.name'的东西?

问题1

在控制器中,将结果带有dump函数:

dump($result);

问题2

通常,您可以从bestEatenWith中获取名称,$result

感谢穆罕默德的回答,您已经回答了我的问题的一部分。但是,我自己找到了第二部分的答案,所以这是一个完整的答案。

这是我所做的 -

答案1

  1. 穆罕默德回答
  2. 时使用的dump()

答案2

  1. 使用getter函数'getBesteAtenwith'检索数组
  2. 然后使用foreach并使用getter函数(例如getName)检索besteatenwith record的名称

相关内容

  • 没有找到相关文章

最新更新