Ответы пользователя по тегу Symfony
  • Как выполнить подзапрос в Doctrine DQL?

    @ugin_root Автор вопроса
    Печально... Но я вроде додумался до решения для моего частного случая когда нужно посчитать сумму уникальных записей сразу по нескольким полям.
    SQL:
    SELECT COUNT(DISTINCT 
    	YEAR(voting.date_at), 
    	MONTH(voting.date_at), 
    	DAY(voting.date_at), 
    	human.id
    ) AS absentDayHuman
    FROM vote 
    	JOIN human ON human.id = vote.human_id
    	JOIN voting ON voting.id = vote.voting_id
    	JOIN party ON party.id = human.party_id
    WHERE vote.type = 0

    DQL(в count нельзя указывать несколько параметров):
    SELECT COUNT(DISTINCT CONCAT(
    	DATE_FORMAT(voting.dateAt, '%Y-%m-%d'), 
    	'-', 
    	human.id
    )) AS absent
    FROM \App\Entity\Vote vote
    	JOIN vote.human human
    	JOIN vote.voting voting
    	JOIN human.party party
    WHERE vote.type = :voteTypeAbsent
    Ответ написан
    Комментировать