国产探花免费观看_亚洲丰满少妇自慰呻吟_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,結果會是整表被刪除了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浪卡子县| 十堰市| 安阳市| 九江县| 铜梁县| 柳江县| 洪湖市| 砚山县| 万荣县| 东阳市| 建阳市| 治县。| 奉新县| 体育| 彰武县| 汉沽区| 中西区| 凤庆县| 开鲁县| 越西县| 尤溪县| 江孜县| 象山县| 文山县| 吴忠市| 安泽县| 淄博市| 浙江省| 彝良县| 老河口市| 绥宁县| 涡阳县| 天台县| 德化县| 崇礼县| 宜黄县| 宣汉县| 阿合奇县| 安吉县| 吉林省| 横峰县|