@v7sila

Как сформировать запрос QueryBuilder с подзапросом и left join?

Есть 2 сущности App:Banner и App:UserBanner.

Я могу сформировать правильный sql запрос:
select nsb.text, nub.banner_id, nub.user_id from ns_banners as nsb
    left join (select * from ns_user_banners where user_id = 123456) nub
    on nub.banner_id = nsb.id;


А как сделать тот же запрос с помощью createQueryBuilder doctrine?
Я пытаюсь сделать нечто подобное, но не получается
$subSelect = $this->entityManager->getRepository('App:UserBanner')->createQueryBuilder('ub')
            ->where('ub.userId = :userId')
            ->setParameter('userId', $userId);


        $select = $this->entityManager->getRepository('App:UserBanner')->createQueryBuilder('b')
            ->addSelect(sprintf('(%s) AS ub', $subSelect->getQuery()->getSQL()))
            ->leftJoin('b.userBanners', 'ub');
  • Вопрос задан
  • 371 просмотр
Пригласить эксперта
Ответы на вопрос 1
uDenX
@uDenX
PHP Developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы