У меня есть запрос в хранилище сущностей с другой сущностью ManyToMany: Встреча имеет много пользователей
Это мой вопрос:
$userIds = [2];
$qb = $this->createQueryBuilder('m')
->leftJoin('m.users', 'mu')
->leftJoin('mu.user', 'u')
->where('u.id IN (:ids)')
->setParameter('id', $userIds);
Это хорошо работает, если у меня встреча с два пользователя и пользователь с id = 2, запрос дает полный результат с двумя пользователями.
Моя проблема в том, что у меня много запросов в БД (84) при отображении информации о пользователях, поэтому я использую addSelect как это:
$userIds = [2];
$qb = $this->createQueryBuilder('m')
->leftJoin('m.users', 'mu')
->addSelect('mu')
->leftJoin('mu.user', 'u')
->addSelect('u')
->where('u.id IN (:ids)')
->setParameter('id', $userIds);
Отлично! у меня сейчас только 16 запросов для отображения информации. но мой запрос возвращает только пользователя с id = 2 при моей встрече с двумя пользователями ???
У меня та же проблема, если я оставляю только addSelect ('mu'). Я думаю, что addSelect () не выполняется для пользователей, которые не относятся к моему поиску.
Как получить полные результаты с помощью addSelect (), чтобы уменьшить количество запросов?
Спасибо за помощь