我可以帮助您进行翻译。以下是需要翻译的内容:
现在假设我的数据库有100多篇博客文章,但我只想要前10篇,但是要包括这10篇文章的所有评论和标签(如果存在)。如果使用setMaxResults,则会限制行数。因此,可能会得到前两篇文章,但其中最后一篇文章缺少一些评论或标签。因此,以下方法不起作用。
使用难以找到文档的分页解决方案并不能满足我的需求,因为它太慢了,我可以一次性加载所有数据。
我尝试了Stackoverflow文章中的解决方案,但即使是那篇文章也缺乏最佳实践,并且所提供的解决方案非常缓慢。
难道没有一个最佳实践来解决这个问题吗? 难道没有人在生产模式下使用Doctrine2.2吗?
我在我的查询构建器中有一个很大的查询,以及许多左连接。因此,我可以获取带有其评论、标签等的文章。 假设我有以下DQL:
$dql = 'SELECT blogpost, comment, tags
FROM BlogPost blogpost
LEFT JOIN blogpost.comments comments
LEFT JOIN blogpost.tags tags';
现在假设我的数据库有100多篇博客文章,但我只想要前10篇,但是要包括这10篇文章的所有评论和标签(如果存在)。如果使用setMaxResults,则会限制行数。因此,可能会得到前两篇文章,但其中最后一篇文章缺少一些评论或标签。因此,以下方法不起作用。
$result = $em->createQuery($dql)->setMaxResults(15)->getResult();
使用难以找到文档的分页解决方案并不能满足我的需求,因为它太慢了,我可以一次性加载所有数据。
我尝试了Stackoverflow文章中的解决方案,但即使是那篇文章也缺乏最佳实践,并且所提供的解决方案非常缓慢。
难道没有一个最佳实践来解决这个问题吗? 难道没有人在生产模式下使用Doctrine2.2吗?