选择并统计已加入的表

时间:2016-06-30 18:00:56

标签: php mysql sql database doctrine-orm

您好

我建立了一个人们可以购买演出门票的网站,我需要知道根据可变日期销售的票数。

我有两张桌子:

1)包含预约日期的预约表;
2)与我的预订表相关联的门票表。

这是我的代码:

$qb = $repo->createQueryBuilder('a');
                $qb->select('a');
                $qb->where('a.dateReservation = :dateReservation');
                $qb->setParameter('dateReservation',$date);
                $qb->leftJoin('a.ticket', 't');
                $qb->addSelect('COUNT(t)');

如果有人知道如何从预订($ date)获取加入的门票并计算它,那就太棒了! (DQL请求首选)

DataBase screenshot

3 个答案:

答案 0 :(得分:0)

好的,这就是你想要的SQL代码,我不知道DQL

SELECT COUNT *
FROM Ticket INNER JOIN Reservation
ON Ticket.reservation_id = Reservation.id
WHERE DATE = $date

当然,你的功能变量是$ date here

答案 1 :(得分:0)

请参阅以下sql查询了解已售票证。我想这会对你有帮助

webpack.config.js

答案 2 :(得分:0)

你非常接近。我不清楚你究竟遇到了什么问题,但我猜你还没有得到你期望的结果。

这可能是因为您未使用聚合函数(COUNT(t))而未执行分组操作。

尝试添加:$qb->groupBy('a');

如果这样做并不符合您的要求,请更新您的问题,以便更清楚地了解您遇到的问题。