1 ==================查詢================== 2 3 條件-綁定參數-返回多個對象 4 $admin = Admin::model()->findAll($condition, $params); 5 $admin = Admin::model()->findAll("username = :name", [":name" => $username]); 6 $admin = Admin::model()->findAll("status = 1 ORDER BY id DESC limit 10"); 7 8 條件-綁定參數-返回一個對象 9 $admin = Admin::model()->find($condition, $params); 10 $admin = Admin::model()->find('username = :name', ':name'=>'admin'); 11 12 13 主鍵-條件-綁定參數-返回多個對象 14 $admin = Admin::model()->findAllByPk($postIDs, $condition, params); 15 $admin = Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age)); 16 $admin = Admin::model()->findAllByPk(array(1,2)); 17 18 主鍵-條件-綁定參數-返回一個對象 19 $admin = Admin::model()->findByPk($postID, $condition, $params); 20 $admin = Admin::model()->findByPk(1); 21 22 條件數組-條件-綁定參數-返回多個對象 23 $admin = Admin::model()->findAllByAttributes($attributes, $condition, $params); 24 $admin = Admin::model()->findAllByAttributes(array('username' => 'admin')); 25 26 條件數組-條件-綁定參數-返回一個對象 27 $admin = Admin::model()->findByAttributes($attributes, $condition, $params); 28 $admin = Admin::model()->findByAttributes(array('username' => 'admin')); 29 30 sql語句-綁定參數-返回多個對象 31 $admin = Admin::model()->findAllBySql($sql, $params); 32 $admin = Admin::model()->findAllBySql("select id from admin where username = :name", [':name'=>'%ad%']); 33 34 sql語句-綁定參數-返回一個對象 35 $admin = Admin::model()->findBySql($sql, $params); 36 $admin = Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin')); 37 38 $criteria = new CDbCriteria; 39 $criteria->select = 'id';//查詢的字段 40 $criteria->condition = 'nmae = :name';//有且只有一個條件 41 $criteria->params = [':name' => 'admin'];//綁定參數 42 $criteria->join = 'xxx';//連接表 43 $criteria->with = 'xxx';//調用relations 44 $criteria->order = 'id desc';//指定字段排序 45 $criteria->offset = 1;//起始量,通常和limit配合使用 46 $criteria->limit = 3;//指定查詢數據量 47 $criteria->group = 'xxx';//分組 48 $criteria->having = 'xxx'; 49 $criteria->distinct = false;//是否唯一查詢 50 $criteria->addCondition('id = 1');//id = 1 51 $criteria->addCondition('id = 1', 'or');//or id = 1 52 $criteria->addInCondition('id', [1, 2, 3]);//id in (1,2,3) 53 $criteria->addNotInCondition('id', [1, 2, 3])//id not in (1,2,3) 54 $criteria->addSearchCondition('name', '你好');//name like '%你好%' 55 $criteria->addBetweenCondition('id', 1, 10);//id between 1 and 10 56 $criteria->compare('id', 1);//如果第二個參數是數字,則按照addCondition處理 57 $criteria->compare('id', [1, 2, 3]);//如果第二個參數是數組,則按照addInCondition處理 58 $admin = Admin::model()->find($criteria); 59 60 條件-綁定參數-返回數據記錄數 61 $count = Admin::model()->count($condition, $params); 62 $count = Admin::model()->count('name = "你好"'); 63 $count = Admin::model()->count('name = :name', [':name' => '你好']); 64 65 sql語句-綁定參數-返回數據記錄數 66 $count = Admin::model()->countBySql($sql, $params); 67 $count = Admin::model()->countBySql('select count(*) from admin where name = "你好"'); 68 $count = Admin::model()->countBySql('select count(*) from admin where name = :name', [':name' => '你好']); 69 70 條件-綁定參數-返回true或false 71 $exists = Admin::model()->exists($condition, $params); 72 $exists = Admin::model()->exists('name = "你好"'); 73 $exists = Admin::model()->exists('name = :name', [':name' => '你好']); 74 75 ==================新增================== 76 $admin = new Admin; 77 $admin->username = $username; 78 $admin->time = time(); 79 $save = $admin->save();//需要指定全部字段,否則會返回false 80 81 ==================修改================== 82 Admin::model()->updateAll($attributes, $condition, $params);//$attributes是要修改的字段的集合,$condition條件,$params傳入的值 83 $update = Admin::model()->updateAll(['name' => '你好嗎'], 'id = :id', [':id' => 1]);//將id = 1的name的值修改成‘你好嗎’ 84 85 Admin::model()->updateByPk($pk, $attributes, $condition, $params);//$pk主鍵,可以是一個也可以是一個集合,$attributes是要修改的字段的集合,$condition條件,$params傳入的值 86 $update = Admin::model()->updateByPk(1, ['name' => '你好嗎']); 87 $update = Admin::model()->updateByPk([1, 2], ['name' => '你好嗎']); 88 89 Admin::model()->updateCounters($counters, $condition, $params); 90 $update = Admin::model()->updateCounters(['tel' => 1], 'id = :id', [':id' => 1]);//將id = 1的tel字段自加1,類似set tel = tel + 1,如果是負數則自減1,set tel = tel - 1; 91 92 ==================刪除================== 93 Admin::model()->deleteAll($condition, $params); 94 $delete = Admin::model()->deleteAll('id = :id', [':id' => 1]);//刪除id = 1的數據 95 $delete = Admin::model()->deleteAll('id = 1');//刪除id = 1的數據 96 97 Admin::model()->deleteByPk($pk, $condition, $params); 98 $delete = Admin::model()->deleteByPk(1, 'name = :name', [':name' => '你好']);//刪除主鍵id = 1 and name = '你好'的數據,如果id = 1但是name != '你好'會刪除失敗,所以這個方法一般只需要傳主鍵的值就好了