В форме у меня есть текстовый ввод, цель которого — хранить имена или часть названий некоторых кораблей.
Текущий (рабочий) findby выглядит следующим образом:
$shipList = $shipRepo->findBy(array('faction'=>$factionSearch, 'extension'=>$extensionSearch));
Убраны некоторые фильтры для удобства. Я использую этот метод, чтобы мне не приходилось писать гигантский запрос в репозиторий с 8 соединениями и сотнями предложений select.
Пример: в базе данных есть корабль Le Superbe. Моя цель состоит в том, чтобы этот корабль присутствовал в выводе, если пользователь вводит sup в текстовое поле.
Вопрос: Могу ли я обработать поиск LIKE поверх текущих фильтров в findBy()?
Отвечает ли это на ваш вопрос? Как использовать метод findBy со сравнительными критериями. Вы можете посмотреть в руководство для точного выражения, которое вам нужно. — person Arshellan schedule 04.06.2021
Ответ — нет. Метод doctrine findBy не позволяет вам использовать LIKE. Для этого вам придется использовать DQL.