Legen Sie eine Where-Bedingung für den Datenprovider in einer bestimmten Controller-Methode fest

8

Ich möchte eine Bedingung nur für eine einzelne Aktion im Controller festlegen, daher möchte ich mein search -Modell nicht ändern.

Mein Code sieht so aus:

%Vor%

Die Zeile in der Reihe zeigt meine Bedingung ( $searchModel->query()->where('role <> regular'); ), es ist ziemlich einfach, aber ich habe keine Lösung gefunden, die online funktioniert.

Als Referenz habe ich Folgendes versucht:

Spurious 31.07.2015, 08:40
quelle

6 Antworten

11

Ok, ich habe es geschafft, es funktioniert so für mich:

%Vor%

Sicher ein bisschen kompliziert und es im Modell zu tun wäre wahrscheinlich besser, aber ich möchte nur, dass es es in dieser Aktion verwendet und eine Reihe anderer Aktionen mit dem gleichen search -Modell, aber anderen Bedingungen hat.

>     
Spurious 31.07.2015 12:06
quelle
7

Sie können dies auf dem Controller tun

%Vor%     
Kirill Ryzhkov 17.08.2016 08:11
quelle
2

Sie können diesen Weg versuchen

%Vor%

Im Suchmodell:

%Vor%

Zweiter Weg führt zweiten Parameter wie:

%Vor%

Im Suchmodell

%Vor%

Ein anderer Weg, um andere Parameter wie, aber Problem in der Filterzeit zu übergeben:

%Vor%     
Hiren Bhut 31.07.2015 09:12
quelle
0

Sie können dies versuchen:
SearchModel:

%Vor%

Bitte besuchen Sie auch diesen Link: Ссылка

    
Ankush Rishi 31.07.2015 09:41
quelle
0

Probieren Sie diese Lösung

aus %Vor%     
Lalit Onclick 05.05.2016 06:27
quelle
0

Probieren Sie das mit Hilfe von Multiparametern -

%Vor%     
Rohit Suthar 15.05.2017 13:29
quelle