У меня есть две сущности (entity1 и entity2) в отношении ManyToMany.Все таблицы работают нормально, если мне просто нужен объект из одной сущности.Поля в сущностях помечены как ManyToMany, включая атрибуты mappedBy и reversedBy.Теперь мне нужно подмножество из entity1, основанное на предложении where для entity2.
В SQL все просто.
select
a.field1,a.field2
from entity1 as a
left join entity1_entity2 as b on a.entity1_id=b.foreignKey1
left join entity2 as c on b.foreignKey2=c.entity2_id
where c.whereField = 'value'
and a.whereField = 'anotherValue'
Я хочу использовать репозиторий из entity1 и пробовал запрос с помощью createQueryBuilder.
$query = $this->createQueryBuilder('e1')
->distinct(true)
->innerJoin(Entity2::class, 'e2')
->where("e2.whereField2= :whereE2")
->andWhere('e1.whereField1= :whereE1')
->setParameter("whereE2", $whereE2)
->setParameter("whereE1", $whereE1);
Результат выглядит как полное внешнее соединение.Дамп DQL / SQL кажется, что таблица соединений не используется.Почему?