【问题标题】:Yii CGridView FilterYii CGridView 过滤器
【发布时间】:2012-01-19 14:54:28
【问题描述】:

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

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

【问题讨论】:

    标签: php filter yii


    【解决方案1】:

    您必须修改模型中的 search() 函数。 search() 函数会有这样的东西 -

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

    您可以通过破坏 $this->your_column_name 中的输入并为输入中的每个元素添加一个比较条件来修改它。您可以使用explode() 将字符串分解为多个术语。

    【讨论】:

    • 谢谢,效果很好,我还需要将比较方法的运算符参数填写为'OR'
    • 比较函数接受5个参数,其中3个是可选的。第四个参数指定运算符。在您的情况下,您可以使用 $criteria->compare('your_column_name', $this->your_column_name, true, 'OR') 查看 api 文档以获取更多详细信息 - yiiframework.com/doc/api/1.1/CDbCriteria#compare-detail
    猜你喜欢
    • 2014-09-14
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多