功能:
通过前台一个文本框实现对名字或邮箱的模糊查询,并且过滤掉状态为-1的记录(-1状态代表为删除);
错误代码
public function search($all = false)
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
//排除已删除的数据
if(!$all)
$criteria->addCondition('status != -1');
$criteria->compare('username',$this->username,true,'OR');
$criteria->compare('email',$this->email,true,'OR');
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'id DESC',
),
'pagination'=>array(
'pageSize'=>5, //TODO 分页数
),
));
}
正确代码:
public function search($all = false)
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('username',$this->username,true,'OR');
$criteria->compare('email',$this->email,true,'OR');
//排除已删除的数据
if(!$all)
$criteria->addCondition('status != -1');
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>'id DESC',
),
'pagination'=>array(
'pageSize'=>5, //TODO 分页数
),
));
}
即 把
$criteria->addCondition('status != -1'); 这个方法放到 $criteria->compare()方法之后才行!!!!