yii的CURD操作例項詳解

2022-09-26 10:54:27 字數 4371 閱讀 5040

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...