Как задать условие использования innerJoin в createQueryBuilder?

Надо что бы при наличии $statuses использовался innerJoin, а при отсутствии $statuses - не использовался.
$all = $this
                ->createQueryBuilder('u')
                ->select('count(u.id)')
                ->innerJoin('u.roles', 'r', 'WITH', 'r.id IN (' . $statuses . ')')
                ->getQuery()
                ->getSingleScalarResult();
  • Вопрос задан
  • 294 просмотра
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
В чём проблема-то?
// За форматирование извиняюсь - писал всё вручную
$qb = $this->createQueryBuilder('u')->select('...');
if ($statuses) {
    $qb->innerJoin()
}
$all = $qb->getQuery()->getSingleScalarResult();

Подучите PHP что ли.
Ответ написан
BelCoder
@BelCoder Автор вопроса
php dev
Вот так работает
$qb = $this->createQueryBuilder('u')->select('...');
if ($statuses) {
    $qb = $qb->innerJoin()
}
$qb = $qb->getQuery();
$all = $qb->getSingleScalarResult();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы