AndFilterWhere с OR LIKE from array

Это ключевые слова

$keywords = ['html','css','js','php','yii2']

А это фильтр запроса Yii из модели

$query->orFilterWhere(["LIKE","skill_name",$val]);

И это дает следующие результаты

WHERE `skill_name` LIKE '%html%'
   AND `skill_name` LIKE '%css%'
   AND `skill_name` LIKE '%js%'
   AND `skill_name` LIKE '%php%'
   AND `skill_name` LIKE '%yii2%'

Я хочу этот запрос после того, как

WHERE `skill_name` LIKE '%html%'
   OR `skill_name` LIKE '%css%'
   OR `skill_name` LIKE '%js%'
   OR `skill_name` LIKE '%php%'
   OR `skill_name` LIKE '%yii2%'

пожалуйста, выберите ответ, выделив немного времени в качестве доброго жеста по отношению к человеку, который помогает вам, уделяя вам немного своего времени, счастлив, ТАК :).

Muhammad Omer Aslam 10.12.2018 21:31
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
1 429
1

Ответы 1

Вам нужно использовать or like в таких случаях:

$query->andFilterWhere(['OR LIKE', 'skill_name', $val]);

См. https://www.yiiframework.com/doc/api/2.0/yii-db-queryinterface#where()-detail


or в orFilterWhere() определяет, как присоединить новое условие к существующим. Итак, если у вас есть:

$query->orFilterWhere('some condition 1')->orFilterWhere('some condition 2');

Это сгенерирует что-то вроде:

WHERE some condition 1 OR some condition 2

OR между состояниями происходит от orFilterWhere().

и $ val, вероятно, $ ключевые слова, которые вам не нужно использовать foreach

Vladimir 07.07.2018 11:03

Другие вопросы по теме