2012-01-19 7 views
3

CGridViewのフィルタを、その時点で1つの列の複数の単語で動作させたいです。例えば、私は最初の列に "A"を加え、同じ列に "B"を付けたすべての行を表示するとします。Yii CGridView Filter

これを行うためにどのクラスや関数を上書きする必要があるのか​​誰かが知りませんか?

答えて

4

モデル内のsearch()関数を変更する必要があります。

$criteria->compare('your_column_name', $this->your_column_name, true); 

あなたがます$ this-> your_column_nameである入力を破り、1は入力の各要素のための条件を比較追加することによって、それを変更することができます - 検索()関数は、次のようなものを持っています。あなたは、explode()を使って文字列を複数の単語に分割することができます。

+0

ありがとう、ありがとう、私は 'OR'として比較メソッドのオペレータパラメータを記入する必要があります。 – maty42

+0

compare関数は5つのパラメータを受け取ります。そのうちの3つはオプションです。第4引数は演算子を指定します。$ criteria-> compare( 'your_column_name'、$ this-> your_column_name、true、 'OR') 詳細については、apiのドキュメントを参照してください - http://www.yiiframework.com/doc/ api/1.1/CDbCriteria#比較詳細 –

関連する問題