2017-05-11 4 views
0

Ich habe boolean Wert in der Datenbank und in meinem GridView Ich versuche, es nach der name, nicht id zu filtern.Wie filtert man die Spalte nach ihrem Namen in yii2?

Ich tat das in der anderen Spalte und es funktionierte, aber irgendwie, diese Spalte nicht. Könnte mir jemand erklären, was ich falsch mache? Danke für jede Hilfe.

 $query->andFilterWhere(['like', 'customer_name', $this->customer_name]) 
     ->andFilterWhere(['like', 'item.name', $this->item_id]) 
     ->andFilterWhere(['like', 'sign', $this->sign]) 
     ->andFilterWhere(['like', 'customer_surname', $this->customer_surname]) 
     ->andFilterWhere(['like', 'customer_phone', $this->customer_phone]) 
     ->andFilterWhere(['like', 'customer_email', $this->customer_email]) 
     ->andFilterWhere(['like', 'code', $this->code]) 
     ->andFilterWhere(['like', 'comment', $this->comment]); 

ich, dass für item.name tat, die aus verschiedenen Datenbanktabelle ist und es funktionierte. Ich muss das gleiche tun, um die Spalte, die es nach Approved oder Denied filtern würde, nicht von id's. Wie geht das?

+0

Und mit den Worten 'diese Spalte tut not', was genau funktioniert verwenden sollten, nicht wahr? Null Zeilen oder Filter ignorieren? –

+0

Vergleichen Sie einen booleschen Wert mit einer Zeichenfolge? Wenn die beiden einzigen Alternativen Genehmigt oder Verweigert sind, sollte ein Dropdown mit den Optionen 1 => Genehmigt und 0 => Verweigert den Zweck erfüllen. Außerdem: http://www.yiiframework.com/doc-2.0/guide-output-data-widgets.html#working-with-model-relations –

Antwort

1

Wenn Sie ein Boolen Werte verwenden Sie nicht wie Operator aber und gleich Operator

->andFilterWhere(['=', 'sign', $this->sign]) 
+0

Equal (=) Operator findet nur 0 (falsche) Werte – devorye

+0

bist du sicher Das $ this-> Zeichen ist ein Boolescher Wert und ich konvertiere nicht irgendwie? – scaisEdge

+0

Ich bin ziemlich sicher, weil ich es in einem 'ActiveForm' als Checkbox-Wert gemacht habe. Außerdem wird in der Datenbank das "Tinyint (1)" überprüft. Interessante Situation hier – devorye

Verwandte Themen