Задать вопрос
@DangerPro
Новичок в web-программировании

Как сделать SQL запрос с LIKE в YII2?

Делаю поиск по сайту с LIKE? получается вот такая строка:
$query = Course::find()->where(['like', 'name', $q]);

Это поиск только по полю name, а как мне сделать что бы поиск был по нескольким полям. Например name, content, keywords, description?
  • Вопрос задан
  • 634 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
qonand
@qonand
Software Engineer
Course::find()->where(['like', 'name', $q])
    ->orWhere(['like', 'content', $q])
    ->orWhere(['like', 'keywords', $q])
    ->orWhere(['like', 'description', $q])


А вообще если Вы делаете поиск по сайту (а судя по тексту вопроса Вы делаете его) используйте например полнотекстовый поиск, а еще лучше - поисковые движки типа sphinx
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
andWhere
$query = Course::find()->where(['like', 'name', $q])
$query = Course::find()->andWhere(['like', 'content', $cont])
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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