Перенести, если затем, с внутренним выбором на doctrine - PullRequest
0 голосов
/ 28 апреля 2020

я пытаюсь перенести запрос sql на запрос doctrine, но он не принимает select, потому что он выдает мне эту ошибку: Ожидаемый литерал, получен 'SELECT'

Запрос Sql im

select p.name,if(p.active = '0',(select a.adress from adresse a where a.pers_id=p.id limit 1),'') from person p

эквивалентно приведенному выше сообщению об ошибке:

$adressQuery = $this->-em->getRepositry(Adresse::class)
     ->createQueryBuilder('a')
     ->select('adress')
     ->where('a.persId = p.id')
     ->setMaxResult(1)

$this->_em->createQueryBuilder('p')
     ->select('p.name')
     ->select("case when p.active='0' then (".$adressQuery->getDql().") else '' end")

как добиться того же результата, что и первый sql запрос с ограничением в нем и выберите внутренний запрос внутри. Заранее спасибо

...