curd是乙個資料庫技術中的縮寫詞,一般的專案開發的各種引數的基本功能都是curd。它代表建立(create)、更新(update)、讀取(retrieve)和刪除(delete)操作。本文來講講yii框架的curd操作。
一、查詢資料集合
1、複製** **如下:
$admin=admin::model()->findall($condition,$params);
該方法是根據乙個 條件查詢乙個集合,如: 複製** **如下:
findall('username=:name',array(':name'=>$username));
2、複製** **如下:
$admin=admin::model()->findallbypk($postids,$condition,$params);
findallbypk($id,'name like ':name' and age=:age',array(':name'=>$name,'age'=>$age));
該方法是根據主鍵查詢乙個集合,可以使用多個主鍵,如:複製** **如下:
findallbypk(array(1,2));
3、複製** **如下:
$admin=admin::model()-> findallbyattributes($attributes,$condition,$params);
該方法是根據條件查詢乙個集合,可以是多個條件,把條件放到陣列裡面,如: 複製** **如下:
findallbyattributes(array('username'=>'admin'));
4、複製** **如下:
$admin=admin::model()->findallbys
該方法是根據www.cppcns.comsql語句查詢乙個陣列,如:複製** **如下:
findallbysql('select *from admin whereusername=:name',array(':name'=>'admin'));
二、查詢對像的方法
1、複製** **如下:
$admin=admin::model()->findbypk($postid,$condition,$params);
根據主鍵查詢出乙個物件,如:findbypk(1);
2、複製** **如下:
$row=admin::model()->find($condition,$params);
根據乙個條件查詢出一組資料,可能是多個,但是他只返回第一行資料,如: 複製** **如下:
find('username=:name',array(':name'=>'admin'));
3、複製** **如下:
$admin=admin::model()-> findbyattributes($attributes,$condition,$params);
該方法是根據條件查詢一組資料,可以是多個條件,把條件放到陣列裡面,他查詢的也是第一條資料,如:複製** **如下:
findbyattributes(array('username'=>'admin'));
4、複製** **如下:
$admin=admin::model()->findbysql($sql,$params);
該方法是根據sql語句查詢一組資料,他查詢的也是第一條資料,如:複製** **如下:
findbysql('select *from admin whereusername=:name',array(':name'=>'admin'));
5、拼乙個獲得sql的方法,在根據find查詢出乙個物件
複製** **如下:
$criteria=new cdbcriteria;
$criteria->select='username'; // only select the 'title' column
$criteria->condition='username=:username';
$criteria->params=array(':username=>'admin');
$post=post::model()->find($criteria); // $params isnot needed
三、查詢個數,判斷查詢是否有結果
1、複製** **如下:
$n=post::model()->count($condition,$params);
該方法是根據乙個條件查詢乙個集合有多少條記錄,返回乙個int型數字,如 複製** **如下:
count('username=:name',array(':name'=>$username));
2、複製** **如下:
$n=post::model()->countbysql($sql,$params);
該方法是根據sql語句查詢乙個集合有多少條記錄,返回乙個int型數字,如複製** **如下:
countbysql('select *from admin whereusername=:name',array(':name'=>'admin'));
3、複製** **如下:
$exists=post::model()->exists($condition,$params);
該方法是根據乙個條件查詢查詢得到的陣列有沒有資料,如果有資料返回乙個true,否則沒有找到
四、新增的方法
複製** **如下:
$admin=newadmin;
$admin->username=$username;
$admin->password=$password;
if($admin->s**e()>0)else
五、修改的方法
1、複製** **如下:
post::model()->updateall($attributes,$condition,$params);
$count =admin::model()->updateall(array('username'=>'11111′,'password'=>'11111′),'password=:pass',array(':pass'=>'1111a1′));
if($count>0)else
2、複製** **如下:
post::model()->updatebypk($pk,$attributes,$condition,$params);
$count =admin::model()->updatebypk(1,array('username'=>'admin','password'=>'admin'));
$count =admin::model()->updatebypk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));
if($count>0)else
$pk 代表主鍵,可以是乙個也可以是www.cppcns.com乙個集合,$attributes代表是要修改的字段的集合,$condition代表條件,$params傳入的值
3、複製** **如下:
post::model()->updatecounters($counters,$condition,$params);
$count=admin::model()->updatecounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
if($count&fgqykgt;0)else
array('status'=& gt;1)代表資料庫中的admin表根據條件username='admin',查詢出的所有結果status欄位都自加1
六、刪除的方法
1、複製** **如下:
post::model()->deleteall($condition,$params);
$count = admin::model()->deleteall('username=:nameandpassword=:pass',array(':name'=>'admin',':pass'=>'admin'));
$id=1,2,3
deleteall('id in('.$id.')');刪除id為這些的資料
if($count>0)else
2、複製** **如下:
post::model()->deleteb程式設計客棧ypk($pk,$condition,$params);
$count = admin::model()->deletebypk(1);
$count =admin::model()->deletebypk(array(1,2),'username=:name',array(':name'=>'admin'));
if($count>0)else
本文標題: yii的curd操作例項詳解
本文位址:
Yii框架實現對資料庫的CURD操作示例
首先要對資料庫進行操作,需要建立乙個和資料庫表名相同的model,放在models資料夾下 user.php use yii db activerecord 繼承activerecord實現curd操作 class user extends activerecord 後面的 中命名空間都已經省略 n...
ThinkPhp中的 CURD操作
think中的curd操作 thinkphp提供了靈活和方便的資料操作方法,對資料庫操作的四個基本操作 curd 建立 更新 讀 取和刪除的實現是最基本的,也是必須掌握的,在這基礎之上才能熟悉更多實用的資料操作方法。curd操作通常是可以和連貫操作配合完成的。資料建立 在進行資料操作之前,我們往往需...
springJdbc常用的curd操作
注入jdbctemplate模板類 resource private jdbctemplate jdbctemplate 新增賬戶記錄,返回受影響的行數 param account return override public int addaccount account account int r...