Php Yii CGridView过滤器

Php Yii CGridView过滤器,php,filter,yii,Php,Filter,Yii,我希望CGridView的过滤器能够同时处理一列中的多个单词。例如,我想显示第一列中带有“A”的所有行,以及同一列中带有“B”的所有行 有人知道我应该重写哪个类和函数来执行此操作吗?您必须修改模型中的search()函数。search()函数将具有如下内容- $criteria->compare('your_column_name', $this->your_column_name, true); 您可以通过打断$this->your\u column\u name中的输入

我希望CGridView的过滤器能够同时处理一列中的多个单词。例如,我想显示第一列中带有“A”的所有行,以及同一列中带有“B”的所有行


有人知道我应该重写哪个类和函数来执行此操作吗?

您必须修改模型中的search()函数。search()函数将具有如下内容-

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

您可以通过打断$this->your\u column\u name中的输入并为输入中的每个元素添加一个比较条件来修改它。您可以使用explode()将字符串拆分为多个术语。

谢谢,效果很好,我还需要填写compare方法的操作符参数,因为'OR'compare函数接受5个参数,其中3个是可选的。第四个参数指定运算符。在您的情况下,您可以使用$criteria->compare('your\u column\u name',$this->your\u column\u name,true',OR')查看api文档以了解更多详细信息-