如何使用Symfony 2查找没有任何答案的所有问题?
我有两个实体以适当的关系提问和回答 我想要一个优化的方法(更少的资源)来找到所有的问题(只有id和标题),而没有原则的答案 谢谢您的回答。在控制器中 使用QueryBuilder:如何使用Symfony 2查找没有任何答案的所有问题?,symfony,doctrine-orm,eager-loading,Symfony,Doctrine Orm,Eager Loading,我有两个实体以适当的关系提问和回答 我想要一个优化的方法(更少的资源)来找到所有的问题(只有id和标题),而没有原则的答案 谢谢您的回答。在控制器中 使用QueryBuilder: $repository = $this->getDoctrine()->getRepository('AcmeStoreBundle:Question'); $qb = $repository->createQueryBuilder('Question'); $query = $qb -&g
$repository = $this->getDoctrine()->getRepository('AcmeStoreBundle:Question');
$qb = $repository->createQueryBuilder('Question');
$query = $qb
->select('DISTINCT Question.id, Question.title')
->leftJoin('Question.answers', 'Answer', $qb->expr()->isNull('Answer.id'))
->getQuery();
$questions = $query->getArrayResult();
或DQL(部分对象:
$query = $em->createQuery("select partial Question.{id,title}
from MyApp\Domain\Question Question
left join Question.answers Answer
where Answer.id is NULL");
$questions = $query->getResult();
查询生成器将返回一个数组,而DQL将返回部分对象
见: