国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

Yii deleteByAttributs 用法,慎用Dao的delete

2024-08-30 19:06:37
字體:
來源:轉載
供稿:網友

Yii框架一定要慎用Dao的delete,一不小心它生不成條件的話,就變成了整表刪除,可以用ActiveRecord的deleteByAttributes或deleteAll方法相對不容易寫錯。

deleteByAttributes用法如下:

  1. MyClass::model()->deleteAllByAttributes(array
  2.     'phone_number'=>$phoneNumber
  3. )); 

或者第一個參數為空,使用第二個條件參數,代碼如下:

  1. MyClass::model()->deleteAllByAttributes(array(),'`phone_number` = :phone_number',array
  2.  
  3.     ':phone_number'=>$phoneNumber
  4. )); 

或者使用deleteAll():,代碼如下:

  1. MyClass::model()->deleteAll('`phone_number` = :phone_number',array
  2.     ':phone_number'=>$phoneNumber
  3. )); 

再來一個帶in條件的,代碼如下:

  1. $condition = new CDbCriteria(); 
  2. $condition->addCondition('status=:status'); 
  3. $condition->params = array(':status'=>1); 
  4. $condition->addInCondition('user_id',array(100111,100221,100221)); 
  5. User::model()->deleteAll($condition);Dao帶in條件的示例 
  6. Yii::app()->db->createCommand() 
  7. ->delete('mw_user'array('and''user_id=:user_id'array('in''position_id'array(1,2,3))),array(':user_id'=>121111)); 

但是請慎用DAO的delete,當你的條件寫錯一點,它將無法生成where條件,同時sql語句中也沒有了where,但還不一定報錯,結果就成了沒有where的delete,結果會是整表被刪除了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北流市| 嘉兴市| 开平市| 九江县| 弥渡县| 县级市| 九龙坡区| 阿尔山市| 霸州市| 环江| 平度市| 汉寿县| 三明市| 瑞安市| 延津县| 台中市| 科尔| 海原县| 长沙市| 洛阳市| 新乡县| 晴隆县| 正镶白旗| 苍溪县| 文成县| 鹰潭市| 丰城市| 六枝特区| 安泽县| 鹤壁市| 阳东县| 阳朔县| 宜春市| 灵璧县| 方城县| 三江| 甘孜| 汾西县| 三江| 肥乡县| 海原县|