@ZaurK

Как сделать поиск не по точному вхождению поискового слова?

Здравствуйте! Знаю, что в yii2 лучше использовать библиотеку sphynx для поиска по сайту, но сейчас делаю вручную с таким запросом:
$query = Pages::find()->where(['like', 'title', $q]);

Этот запрос возвращает точное совпадение, т.е. если надо найти "12345", то по запросу "123" ничего не вернется. В простом mysql запрос бы строился примерно так
$sql = "SELECT title FROM pages WHERE title LIKE '%" . $q . "%' ";

Вот как вписать в запросе yii2 эти '%" . $q . "%'?
  • Вопрос задан
  • 498 просмотров
Пригласить эксперта
Ответы на вопрос 2
Isolution666
@Isolution666
Full-Stack Developer
Если делали через GRUD-генератор в gii, то у вас должен был создаться некий класс NameSearch
Подключайтесь к нему любым удобным для вас способом, я использовал виджеты DetailView и ListView. В принципе, умеючи, можно выводить информацию в любом виде. Минимум кода, нумерация, пагинация, пересчёт количества отображаемых записей, формировать внешний вид можно, как вы хотите, в классе поиска уже предусмотрены такие моменты. Не знаю как у других, у меня по любому совпадению выводилась инфа, даже по одному символу, хоть по 3 символа, без разницы )))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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