您的位置:首页 > 编程语言 > PHP开发

YII search 方法中 compare比较时的一个bug

2014-07-11 11:06 148 查看
功能:

通过前台一个文本框实现对名字或邮箱的模糊查询,并且过滤掉状态为-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()方法之后才行!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐