Gridview Yii1删除初始搜索
我在CGridView上显示元素列表时遇到问题,我有一个带有布尔字段is_active的表,它的默认值为0,因此当我想在CGridView上显示此表时,它只显示is_active字段上为0的行,默认情况下在搜索输入中添加0 我将此行添加到搜索函数$criteria->compare'is_active',$this->is_active,false;但还是不行 这是我的搜索功能Gridview Yii1删除初始搜索,gridview,yii,grid,yii1.x,Gridview,Yii,Grid,Yii1.x,我在CGridView上显示元素列表时遇到问题,我有一个带有布尔字段is_active的表,它的默认值为0,因此当我想在CGridView上显示此表时,它只显示is_active字段上为0的行,默认情况下在搜索输入中添加0 我将此行添加到搜索函数$criteria->compare'is_active',$this->is_active,false;但还是不行 这是我的搜索功能 public function search() { $criteria=new CDbCriteria;
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('title',$this->title);
$criteria->compare('description',$this->description);
$criteria->compare('is_active',$this->is_active,false);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
这是我的观点
...
{
'header' : 'Activated',
'filter' : CHtml.activeTextField( model, 'is_active' ),
'value' : '$data->is_active ? "Oui" : "Non" '
}
...
这就是我得到的
但我想要的是显示所有表的元素。您需要使用重置从数据库架构检测到的默认值:
$model = new MyModel('search');
$model->unsetAttributes();
if (isset($_GET['MyModel'])) {
$model->attributes = $_GET['MyModel'];
}
$dataProvider = $model->search();