Yii2. Как добавить в OR несколько условий с LIKE?


Возможна ситуация, когда нужно делать запрос с LIKE-поиском по нескольким полям, но при этом с условием OR. В этой статье пример реализации на Yii2 данной задачи.

Всё, на самом деле, просто. Приведу пример:

$query->andFilterWhere([
    'or',
    ['like', 'first_name', $nameFromQuery],
    ['like', 'last_name', $nameFromQuery],
    ['like', 'middle_name', $nameFromQuery]
]);

Выше привел конструкцию, которая при условной поисковой фразе "Ивано" сгенерирует следующее условие:

..... WHERE `first_name` LIKE '%Ивано%' OR `last_name` LIKE '%Ивано%' OR `middle_name` LIKE '%Ивано%'

По большому счету объяснения не требуются. Каждый из элементов массива генерирует своё условие.

Если возникли вопросы — пишите в комментарии — всегда рад помочь.

Удачи!

, ,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *