t-alexashka
@t-alexashka
Сразу пишу legacy код

Избыточность в searchModel или нет?

Добрый вечер друзья. Я продолжаю свой путь в дебри yii, и вот очередной вопрос:

В поисковой модели я часто в примерах встречаю такую конструкцию:

// grid filtering conditions
            $query->andFilterWhere([
                'id' => $this->id,
                'fio' => $this->fio,
                'fulladdr' => $this->fulladdr,
                'phone' => $this->phone,
            ]);

            $query->andFilterWhere(['like', 'id', $this->id])
                ->andFilterWhere(['like', 'fio', $this->fio])
                ->andFilterWhere(['like', 'fulladdr', $this->fulladdr])
                ->andFilterWhere(['like', 'phone', $this->phone]);


Оно так и должно быть? у меня такое ощущение что тут что-то дублируется. Зачем нужно сначала все передавать одним массивом а потом по отдельности через like ? Можно ли тут что-то сократить?
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 1
ivankomolin
@ivankomolin
В первом случае получают равенство(fio = 'fio'), во втором поиск с помощью оператора like(fio like 'fio').

А вот необходимость этого уже зависит от разных факторов и в данном случае она под большим сомнением)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы