Symfony 3.2 создать запрос с 2 подзапросами
В моем проекте Symfony 3.2 я хочу показать все themes
которые используются в table1
а также table2
от user_id
= 1
Это MySQL-запрос, который прекрасно работает в PhpMyAdmin:
SELECT DISTINCT themes.*
FROM themes
WHERE EXISTS
(SELECT *
FROM table1
WHERE table1.theme_id = themes.id
AND table1.user_id = 1)
OR EXISTS
(SELECT *
FROM table2
WHERE table2.theme_id = themes.id
AND table2.user_id = 1)
ORDER BY themes.name;
Проблема в том, что я не мог перевести это для моего ThemeRepository
класс в моем проекте... Я попробовал этот код:
public function findAllUsedByUserId($userId) {
return $this->getEntityManager()
->createQuery('
SELECT DISTINCT t
FROM AppBundle:Theme t
WHERE EXISTS
(SELECT *
FROM AppBundle:Table1 a
WHERE a.theme_id = t.id
AND a.user_id = :userId)
OR EXISTS
(SELECT *
FROM AppBundle:Table2 b
WHERE b.theme_id = t.id
AND b.user_id = :userId)
ORDER BY t.name ASC
')
->setParameter('userId', $userId)
->getResult();
}
Вывод является ошибкой: [Syntax Error] line 0, col 131: Error: Unexpected '*'
Может ли кто-нибудь помочь мне с моим запросом? Заранее спасибо!