DQL选择所有用户并计算每个用户的预订数量

时间:2018-05-09 09:31:02

标签: php symfony doctrine query-builder dql

我尝试选择所有用户,并为每位用户计算预订和来电的数量。目前我有这个

$qb = $this->createQueryBuilder('user');
return $qb->select('user')
  ->leftJoin('user.reservations', 'reservations')
  ->leftJoin('reservations.marketDate', 'market_date')
  ->addSelect('COUNT(nb_reservations FROM reservations WHERE market_date.date >= CURRENT_DATE())')
  ->orderBy('user.name')
  ->groupBy('user.id')
  ->getQuery()
  ->getResult();

但我有这个错误

  

[语义错误]第0行,第59行附近' market_date> =':错误:类   ' market_date'没有定义。

请帮帮我

2 个答案:

答案 0 :(得分:0)

COUNT 中的语法似乎不正确:COUNT不应包含整个语句。试试这个:

->addSelect('COUNT(nb_reservations) FROM reservations WHERE market_date.date >= CURRENT_DATE()')

答案 1 :(得分:0)

试试这个:

<div>
{% for framework in frameworks %}
    <p>{{framework.name}}</p>
    {% for control in framework.control_set %}
         <p>{{control.title}}</p>
    {% endfor %}
{% endfor %}
</div>