Доктрина добавления столбцов из подзапроса

У меня есть следующий код в SQL:

    SELECT id, SUM(horas) as horas , SUM(custo) as custo
FROM(
SELECT mr.name, mr.id as id, SUM(HOUR(TIMEDIFF(m.end, m.start))) as horas, SUM(HOUR(TIMEDIFF(m.end, m.start))) * u.cost_hour as custo
FROM meeting as m
INNER JOIN meeting_join_rooms ON m.id = meeting_join_rooms.meeting_id
INNER JOIN meeting_rooms mr ON meeting_join_rooms.meeting_room_id = mr.id
INNER JOIN meeting_attendee ma ON ma.meeting_id = m.id
INNER JOIN users u ON u.id = ma.user_id
WHERE m.cancel = false
AND m.isMaster = false
GROUP BY mr.name, u.id
) as subquery
GROUP BY name

Я преобразовал код в Doctrine, используя следующий построитель запросов:

$subquery = $this->getEntityManager()
->createQueryBuilder()
->select(' mr.name as name, SUM(HOUR(TIMEDIFF(m.end, m.start))) as hours, SUM(HOUR(TIMEDIFF(m.end, m.start))) * users.costHour as cost')
->from('AppBundle:Meeting','m')
->join('m.meetingRooms', 'mr')
->join('m.participantUsers', 'ma')
->join('ma.user_id', 'users')
->join('users.groups', 'gu')
->where('m.cancel = false')
->andWhere('m.isMaster=false');

$totalHoursAndCost = $this->getEntityManager()->createQueryBuilder()
->select('SUM(hours) as y, SUM(cost) as totalCost')
->from( '## $subquery here ##')
->groupBy('name')->getQuery()
->getResult();

Как суммировать столбцы, полученные в результате подзапроса в Doctrine?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector