Définir une condition pour dataprovider dans le contrôleur spécifique de la méthode
Je suis à la recherche pour définir une condition seulement pour une seule action dans le contrôleur, donc je ne veux pas changer mon search
modèle.
Mon code ressemble à ceci:
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 commmented ligne montre mon état ($searchModel->query()->where('role <> regular');
), c'est assez simple mais je n'ai pas trouvé une solution qui fonctionne en ligne.
Pour la référence j'ai essayé ceux-ci:
- Yii2 comment search() dans SearchModel travail?
- Yii2 Modifier la Méthode find() dans le Modèle de recherche()
- https://github.com/yiisoft/yii2/issues/5668
- critères d'Actifs fournisseur de données dans Yii 2
OriginalL'auteur Spurious | 2015-07-31
Vous devez vous connecter pour publier un commentaire.
Ok, je suis fait, cela fonctionne de cette façon pour moi:
Certainement un peu compliqué, et de le faire dans le modèle serait probablement mieux, mais je ne le veux l'utiliser dans cette action et ont un tas d'autres actions avec le même
search
modèle, mais dans des conditions différentes.OriginalL'auteur Spurious
Vous pouvez le faire de cette façon dans le Contrôleur
OriginalL'auteur Kirill Ryzhkov
Vous pouvez essayer de cette façon,
À la Recherche de modèle :
Deuxième moyen passé en deuxième paramètre comme :
À la recherche de modèle
Une autre façon de passer d'autres paramètres comme problème mais en temps de filtrage:
role
regular
. Présentera un rapport sur le reste.Je ne veux pas modifier le modèle car je l'utilise à de nombreux endroits, et c'est juste un point de vue, donc, de toute modification du modèle sont ennuyeux.
OriginalL'auteur Hiren Bhut
Vous pouvez essayer ceci:
SearchModel:
Veuillez également consulter ce lien:http://www.yiiframework.com/doc-2.0/guide-output-data-providers.html
PHP Notice – yii\base\ErrorException Undefined variable: query
également inclure 'query'=>$query dans la section de retour
Cela ne fonctionne pas car $query n'est pas un modèle défini.
OriginalL'auteur Ankush Rishi
D'essayer cette solution
OriginalL'auteur Lalit Mohan
Essayez comme ceci en utilisant multi-paramètres -
OriginalL'auteur Rohit Suthar