Symfony查询构建器 - 选择最大日期并在where子句中使用它

时间:2018-06-08 05:45:01

标签: mysql symfony orm

如何使用SELECT max_date创建查询构建器并在symfony的where子句中使用此max_date?

$em->getRepository('AppBundle:User')->createQueryBuilder('u')
->select('u, MAX(s.date) as HIDDEN max_date')
->leftJoin('AppBundle:Score', 's', 'WITH', 's.userId = u.id')
->andWhere('s.date = :max_date')
->setParameter('max_date', 'max_date')
->getQuery()
->getResult();

这只是示例代码。如果我在没有得到结果的max_date的情况下获得用户“u”的对象,那将是很好的。可能吗?我试图在其他帖子中找到答案,但我失败了。

1 个答案:

答案 0 :(得分:-1)

你不能在那里使用MAX(s.date)。 您的选择是:

  1. 您是否只想获取一位用户?然后你可以order by s.date desclimit 1

  2. 运行两个查询,首先提取max_date,第二个需要用户

  3. 从分数生成的临时表左连接,其中只有一行有max_date