【发布时间】:2015-05-24 19:15:49
【问题描述】:
我有一个网站,我用不同性质的对象(最后的帖子、最后的食谱、最后发布的成分)填充第一页。我目前有一个查询构建器,然后每个查询都有一个查询,因为我对它们每个都调用 ->getQuery()->getResult()。
有没有办法在执行查询之前合并所有这些查询构建器,以便检索由每个查询构建器的结果组成的结果数组?
这是最佳实践吗?我们该怎么做呢?
编辑:我希望我们能做什么:
$recipesQueryBuilder = $this->getDoctrine->getRepository('Recipe')->createQueryBuilder('r');
$postsQueryBuilder = $this->getDoctrine->getRepository('Post')->createQueryBuilder('p');
$results = mergeQueryBuilder($recipesQueryBuilder, $postQueryBuilder)->getQuery()->getResult();
$recipes = $results['r'];
$posts = $results['p'];
【问题讨论】:
-
不。 SQL 查询一次只能返回一种记录格式。因此,除非您的帖子、食谱、配料共享完全相同的架构,否则将需要单独查询。
-
太糟糕了!还是谢谢!
标签: php symfony doctrine-orm doctrine