假设我在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。
答案 0 :(得分:3)