Szukam ustawienia warunku tylko dla pojedynczej akcji w kontrolerze, więc nie chcę zmieniać mojego modelu search
.Ustawienie warunku, w którym będzie używany dostawca danych w konkretnej metodzie sterownika
Mój kod wygląda następująco:
public function actionRoles()
{
$searchModel = new EmployeeSearch();
//$searchModel->query()->where('role <> regular');
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('view_role', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
commmented wiersz pokazuje mój stan ($searchModel->query()->where('role <> regular');
), to całkiem proste, ale nie znalazłem rozwiązanie, które działa w Internecie.
Dla porównania Próbowałem te:
- Yii2 how does search() in SearchModel work?
- Yii2 Modify find() Method in Model search()
- https://github.com/yiisoft/yii2/issues/5668
- criteria Active data provider in Yii 2
I tylko tak daleko (mają pójść na lunch, spróbuje później resztę) przetestować twój ostatni, który zwraca każdy wpis z 'rolą'' zwykły'. Przedstawię resztę. – Spurious
Nie chcę modyfikować modelu, ponieważ używam go w wielu miejscach i jest to tylko jeden widok, więc wszelkie zmiany w modelu są denerwujące. – Spurious