Есть ActiveRecord пользователей (User):
class User extends \yii\db\ActiveRecord {
public function rules(){
return[
[
'first_name',
'last_name',
'login'
],
'string'
];
}
}
На странице с списком пользователей есть форма фильтра, которая организована через \yii\base\Model.
class UserFilter extends \yii\base\Model {
public $first_name;
public $last_name;
}
Соответственно пользователь с помощью нее вводит данные и отправляет на сервер, а там уже происходит фильтрация. Собственно вопрос заключается в том где правильнее расположить метод фильтрации(формирующий запрос с условиями) в ActiveRecord например:
public static function SearchByFilter(UserFilter $filter) {
return self::find()->where(['last_name' => $filter->last_name, 'first_name' => $filter->first_name])
}
или же в модели UserFilter , например:
public function Search(){
return User::find()->where(['last_name' => $this->last_name, 'first_name' => $this->first_name])
}