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()方法之后才行!!!!
通过前台一个文本框实现对名字或邮箱的模糊查询,并且过滤掉状态为-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()方法之后才行!!!!
相关文章推荐
- 定义Person类,Person类中含有两个属性name 和age ,使用compare方法比较两个对象是否为同一个对象。假定name 和age 都相同就似为同一个对象
- 判断是否是同一人的方法——equals()?在Person类中提供一个比较的方法compare()返回boolean值?对象自己和自己比?
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- Visual C++6.0一个小BUG的解决方法
- 判断比较两个对象是否是一个对象(equals方法)
- Visual C++6.0一个小BUG的解决方法
- 比较简单的一个符合web标准的JS调用flash方法
- WEB页面打印的一个方法(比较能用的了)
- 目前参与了一个比较大的工程,一些方法要好好学习,并应用其中。
- SQL Server 2005 Reporting Services的一个bug及其解决方法
- 项目调试时候,出现其中用到的一个组件“访问被拒绝”的解决方法(.net的一个BUG)
- 中国的大多数软件的一个bug和我眼中最保险的防止程序运行多次的方法
- QQ登录没反应解决方法,及新版QQ的一个BUG
- VS2005中的一个小BUG:关于Dropdownlist无法Datadinding的解决方法。
- 设置PSPad调用devcpp中的mingw Gcc进行编译;另附PSPad中文版一个BUG的解决方法
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)--来源CSDN
- 判断一个字符串是否全是数字的多种方法及其性能比较(C#实现)
- [ASP.NET 2.0]PageParser.GetCompiledPageInstance中的一个Bug及解决方法
- 判断一个字符串是否全是数字的多种方法及其性能比较
- Visual C++6.0一个小BUG的解决方法