Symfony doctrine2:如何从不同的存储库中选择实体
在我的symfony2/doctrine2应用程序中,用户可以标记引起管理员注意的元素 我需要检索所有标记的元素,因为它们实现了VoteInterface 我正在尝试执行以下操作,但没有成功,因为我需要选择至少一个根实体,所以它不起作用。如果我选择一个根实体,我就有一个内存分配错误 不管怎样,我甚至不确定这是正确的方式。如何选择与投票关联的所有元素?当然,我可以为每种实体类型构建一个querybuilder,但这不是我在这里要实现的,我想要一个查询生成器Symfony doctrine2:如何从不同的存储库中选择实体,symfony,doctrine-orm,doctrine,query-builder,Symfony,Doctrine Orm,Doctrine,Query Builder,在我的symfony2/doctrine2应用程序中,用户可以标记引起管理员注意的元素 我需要检索所有标记的元素,因为它们实现了VoteInterface 我正在尝试执行以下操作,但没有成功,因为我需要选择至少一个根实体,所以它不起作用。如果我选择一个根实体,我就有一个内存分配错误 不管怎样,我甚至不确定这是正确的方式。如何选择与投票关联的所有元素?当然,我可以为每种实体类型构建一个querybuilder,但这不是我在这里要实现的,我想要一个查询生成器 public function getF
public function getFlagsQueryBuilder()
{
return $this
->createQueryBuilder('v')
->select('u, c, p')
->leftJoin('v.user', 'u')
->leftJoin('v.comment', 'c')
->leftJoin('v.post', 'p')
->groupBy('u, c, p')
->addSelect('u, c, p')
->where('v.value = ?1')
->setParameter(1, 0)
;
}
如果内存有问题,可能是因为您同时在内存中加载了太多行 从条令文件中: 它将允许您在没有内存问题的情况下遍历结果。它将在需要时加载行 您还可以使用以下方法查询数量有限的行: 查询::setMaxResults$maxResults 查询::setFirstResult$offset 如果您计划在列上获取COUNT、SUM、AVG或任何其他聚合函数,我建议您进行查询以获取这些函数,而不是从迭代中获取聚合信息。查询会更快
我希望这能有所帮助谢谢,但我更想弄清楚如何正确编写此查询,以便一次性获取不同的实体。