假设我在 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() 只会运行一个计数查询,而不是水合整个关联。
我宁愿在我的实体类中完成所有这些,而不必在单独的管理器或存储库函数中完成。
我知道对多对关系有一个 @OrderBy 注释。不过似乎没有@Limit。