Я использую Symfony 4, и у меня возникают проблемы при попытке выполнить многократный поиск сущности, которая связана с другой сущностью с отношением "многие ко многим" (там все правильно настроено).
Моя первая сущность - это существо, и оно связано с сущностью тега. Я настроил manytomany
отношение между ними успешно. Я добавил поисковую форму в свой шаблон, и когда я заполняю поиск несколькими словами, он отлично работает при поиске по имени или тегу существа из двух или более слов, но не работает, если я пытаюсь найти существо, соответствующее двум разным тегам.
Вот функция, которую я использую в моем CreatureRepository
:
public function findAllBySearch(string $search){
$words = [];
$words = explode(' ', $search);
$qb = $this->createQueryBuilder('c');
$qb->leftJoin('c.tags', 't');
foreach ($words as $key => $word) {
$qb->andWhere($qb->expr()->orX(
$qb->expr()->like('c.nom', ':val'.$key),
$qb->expr()->like('c.texteLead', ':val'.$key),
$qb->expr()->like('t.nom', ':val'.$key)
))
->setParameter('val'.$key, '%'.$word.'%');
}
return $qb->orderBy('c.dateCreation', 'DESC')
->setMaxResults(10)
->getQuery()
->getResult()
;
}
Я ожидал, что это сработает для поиска по тегам того же существа, но это не так.