如何在没有任何答案的情况下找到所有问题2



我有两个实体问并通过适当的关系回答。

我想要一种优化的方法(较少的资源)来找到所有问题(只有ID和标题),而没有学说的答案。

感谢您的回答。

在您的控制器中…

使用QueryBuilder:

$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 MyAppDomainQuestion Question 
                           left join Question.answers Answer 
                           where Answer.id is NULL");
$questions = $query->getResult();

查询构建器将返回数组,而DQL将返回部分对象

请参阅:

  • http://docs.doctrine-project.org/en/latest/reference/query-builder.html
  • http://docs.doctrine-project.org/en/latest/reference/partial-objects.html

相关内容

  • 没有找到相关文章

最新更新