Doctrine2.1加载部分关联

时间:2013-02-13 23:29:33

标签: php symfony doctrine-orm

假设我在Doctrine中有一个名为Post的实体,它与另一个名为Comment的实体具有双向多对一关系。

假设我在Post中有一个函数将帖子序列化为JSON并包含一部分注释:

public function serialize(){
   return array(
          ... other data here ....
          'comments' => $this->getSerializedComments(5),
          'total_comments' => $this->getComments()->count()
   );
}

我还想编写一个函数getSerializedComments(limit),它只加载限制关联中的注释(即不是帖子的所有注释,只有5)。如果我理解正确,如果我建立关联EXTRA_LAZY,count()将只运行计数查询,而不是保持整个关联。

我更愿意在我的实体类中完成所有这些操作,而不必在单独的管理器或存储库函数中执行此操作。

我知道To-Many关系中有一个@OrderBy注释。看起来好像没有@Limit。

1 个答案:

答案 0 :(得分:3)