@lzy

Как создавать многоступенчатые запросы?

Привет, всем! Возник вопрос, как в Yii2 построить многоступенчатый запрос, например

$query = Client::find()->where(['like', 'clientName', $q])->andWhere(['responsibleUser' => $someId]);

Но, что например если someId пустой и клиент не делает фильтрацию, как сделать так чтобы все частями собиралось (через if else, проверка пришли ли параметры) и только в конце собирался один запрос воедино.

Пример запросы
if(q){
строчка запроса 1
}
if(responsibleUser){
строчка запроса 2
}
и еще много других проверок ...

$query = строчка запроса 1 + строчка запроса 2;
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Добрый вечер.
Во-первых, можно использовать andFilterWhere().
C условиями можно разбить запрос на части.
$request = Model::find();
if(...){
  $request->andWhere(...);
}
$query = $request->all(); // or one()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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