0

我是 yii 的新手,无法根据我的 DB 表的活动标志字段过滤 zii.widgets.grid.CGridView 中的数据。我只想显示活动标志为 0 的数据。

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'member-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
    'id',
    'f_name',
    'l_name',
    'dob',
    'gender',
    'location',
    'email',
    'active',
    array(
        'class'=>'CButtonColumn',
    ),
),

));

4

1 回答 1

3

在模型的 search() 方法中,您需要自定义CDbCriteria

您需要添加:

$criteria->compare('active', 1);

如果你想更高级,你可以创建一个命名范围并在 search() 方法中定义 ActiveDataProvider 时使用它,如下所示:

new CActiveDataProvider(Member::model()->active(),.....);

范围是:

public function active()
{
    return array(
            'condition'=>$this->getTableAlias(false, false).'.active =1',
    );
}
于 2012-07-07T11:46:33.017 回答