Yii deleteByAttributs 用法,慎用Dao的delete
来源:互联网 发布:元数据定义都用大写吗 编辑:程序博客网 时间:2024/06/08 18:34
转载自:http://ju.outofmemory.cn/entry/27968
Yii框架一定要慎用Dao的delete,一不小心它生不成条件的话,就变成了整表删除。
可以用ActiveRecord的deleteByAttributes或deleteAll方法相对不容易写错。
deleteByAttributes用法如下:
MyClass::model()->deleteAllByAttributes(array( 'phone_number'=>$phoneNumber,));
或者第一个参数为空,使用第二个条件参数
MyClass::model()->deleteAllByAttributes(array(),'`phone_number` = :phone_number',array( ':phone_number'=>$phoneNumber,));
或者使用
deleteAll()
:MyClass::model()->deleteAll('`phone_number` = :phone_number',array( ':phone_number'=>$phoneNumber,));
再来一个带in条件的
$condition = new CDbCriteria();$condition->addCondition('status=:status');$condition->params = array(':status'=>1);$condition->addInCondition('user_id',array(100111,100221,100221));User::model()->deleteAll($condition);
Dao带in条件的示例
Yii::app()->db->createCommand()->delete('mw_user', array('and', 'user_id=:user_id', array('in', 'position_id', array(1,2,3))),array(':user_id'=>121111));
0 0
- Yii deleteByAttributs 用法,慎用Dao的delete
- Yii - DAO
- DAO(delete)
- yii2的yii\db\ActiveRecord::deleteAll()请慎用
- Yii的AR模式及DAO
- 慎用 new、delete
- yii的filter用法
- Yii的accessRules用法
- Yii的accessRules用法
- Yii:t()的用法
- Yii的createCommand用法
- Yii:t()的用法
- Yii的createCommand用法
- YII访问数据库(Yii Dao)
- new/delete 的用法
- JavaScript 的 delete 用法
- JavaScript 的 delete 用法
- delete this的用法
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
- 名词王国里的死刑(翻译)
- Android View requires API level 14 (current min is 8): <
- 《程序员修炼之道:从小工到专家》笔记-----第三章
- MySQL使用rename命令将大表清理
- Yii deleteByAttributs 用法,慎用Dao的delete
- PB源码:查询日期范围内的数据
- [Cocoa]深入浅出 Cocoa 之 Core Data(2)- 手动编写代码
- 给QT程序的EXE添加图标
- 数据库和数据仓库的区别
- cocos2dx 3.0 下的scrollview和menu的兼容(c++编写)
- linux下如何把时间转成秒数,或把秒数转换成标准时间格式
- ios开发中的基本设计模式
- android编译错误“OnClickListener cannot be resolved to a type”解