我有一个Doctrine查询,返回博客文章及其评论:
SELECT b, c FROM BlogPost b LEFT JOIN b.comments c
我希望将结果限制为10篇博客文章。根据DQL文档,setMaxResults()
在查询包含关联集合(在此情况下是评论)时无法正确使用:
如果你的查询包含一个fetch-joined集合,那么指定结果限制方法将不能按照预期工作。设置Max Results限制了数据库结果行数,然而在fetch-joined集合的情况下,一个根实体可能会出现在多行中,从而实际上提取的结果数量小于指定的结果数。
如何正确地限制包含fetch-joined集合的Doctrine查询(在这种情况下,将结果限制为10篇博客文章)?
foreach ($results as $post) { echo $post "\n"; }
中的$post
表示数据中的每一行。 - Jason Liu