Использую ActiveController как написано в документации.
public function actionIndex()
{
$modelClass = $this->modelClass;
$developer = Developers::findOne([
'id' => Yii::$app->request->get('developer_id'),
]);
$complex_type = ComplexType::findOne([
'id' => Yii::$app->request->get('complex_id'),
]);
$complex = Complex::findOne([
'type_id' => $complex_type->id,
'developer_id' => $developer->id,
]);
$query = $modelClass::find()
->where(
[
'amount_room' => Yii::$app->request->get('amount_room'),
'yardage' => Yii::$app->request->get('yardage'),
'level' => Yii::$app->request->get('level'),
'complex_id' => $complex->id,
]);
return new ActiveDataProvider([
'query' => $query,
]);
}
Вопрос в следующем: Сейчас обязательно нужно передавать все параметры, что в принципе логично. Каким способом сделать проверку на заполненность параметра, и уже в зависимости от это делать поиск? Я могу сделать кучу if'ов но получится не очень красиво. Как лучше это реализовать?