Sto cercando di impostare una condizione solo per una singola azione nel controller, quindi non voglio modificare il mio modello search
.Impostare una condizione di condizione per dataprovider in un metodo di controllo specifico
Il mio codice è simile al seguente:
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,
]);
}
La riga commmented mostra la mia condizione ($searchModel->query()->where('role <> regular');
), è abbastanza semplice, ma non ho trovato una soluzione che funziona in linea.
Per riferimento ho provato quelli:
- 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
ho soltanto finora (ho andare a pranzo, proverò dopo il resto) ha testato il tuo ultimo, che restituisce ogni voce con 'role'' regular'. Riferirò al resto. – Spurious
Non voglio modificare il modello perché lo sto usando in molti posti e questa è solo una vista, quindi qualsiasi modifica al modello è fastidiosa. – Spurious