В модели поиска в админке есть фильтрация по статусу в базе для последующего вывода отфильтрованных данных в шаблоне. Вот пример модели
GameSearch
:
public function search(array $params)
{
/** @var \yii\db\ActiveQuery $query */
$query = Game::find();
// Фильтры по статусу в базе
if ($params && $params['GameSearch']) {
if (!isset($params['GameSearch']['all'])) {
/** @var string|array $value */
foreach ($params['GameSearch'] as $key => $value) {
if (!empty($value)) {
$query->where([$key => $params['GameSearch'][$key]]);
break;
}
}
}
unset($params['GameSearch']);
}
// остальной код
Этот блок присутствует во многих моделях поиска.
Подскажите, куда можно вынести этот код?