国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Yii 1.0數(shù)據(jù)庫(kù)操作 查詢、增加、更新、刪除

malakashi / 3573人閱讀

摘要:根據(jù)條件查詢一個(gè)集合根據(jù)主鍵查詢一個(gè)集合可以使用多個(gè)主鍵根據(jù)條件查詢一個(gè)集合可以是多個(gè)條件把條件放到數(shù)組里面根據(jù)語(yǔ)句查詢一個(gè)數(shù)組根據(jù)主鍵查詢出一個(gè)對(duì)象根據(jù)條件查詢出一組數(shù)據(jù)可能是多個(gè)但是他只返回第一行數(shù)據(jù)根據(jù)

1、根據(jù)條件查詢一個(gè)集合

$objectResult=Post::model()->findAll($condition,$params);
$oClasses = classes::model()->findAll(array(
            "select"=>"classId,className,grade,type,status",
            "condition"=>"classId=21 and grade=1",
            "order"=>"createtime desc",
        ));
$objectResult=Post::model()->findAll("username=:name",array(":name"=>$username));
$objectResult=RepairItem::model()->findAll("orderno=:orderno and orderpostid=:orderpostid",array(":orderno"=>$orderInfo["orderno"],":orderpostid"=>$orderInfo["orderpostid"]));

$infoArr = NewsList::model()->findAll("status = "1" ORDER BY postid DESC limit 10 ");

2、根據(jù)主鍵查詢一個(gè)集合,可以使用多個(gè)主鍵 findAllByPk

$objectResult=Post::model()->findAllByPk($postIDs,$condition,$params);
$objectResult=Post::model()->findAllByPk($postid,"name like :name and age=:age",array(":name"=>$name,"age"=>$age));
$objectResult=Post::model()->findAllByPk(array(1,2));

3、根據(jù)條件查詢一個(gè)集合,可以是多個(gè)條件,把條件放到數(shù)組里面 findAllByAttributes

$objectResult=Post::model()->findAllByAttributes($attributes,$condition,$params);
$objectResult=Post::model()->findAllByAttributes(array("username"=>"jack"));

4、根據(jù)SQL語(yǔ)句查詢一個(gè)數(shù)組 findAllBySql

$arrResult=Post::model()->findAllBySql($sql,$params);
$arrResult=Post::model()->findAllBySql("select * from tbl_post where username like :name",array(":name"=>"?%"));

5、根據(jù)主鍵查詢出一個(gè)對(duì)象 eg:findByPk(1);

$arrResult=Post::model()->findByPk($postID,$condition,$params);
$arrResult=Post::model()->findByPk(1);

6、根據(jù)條件查詢出一組數(shù)據(jù),【可能是多個(gè),但是他只返回第一行數(shù)據(jù)】

$arrRow=Post::model()->find($condition,$params);
$arrRow=Post::model()->find("username=:name",array(":name"=>"jack"));

7、根據(jù)條件查詢一組數(shù)據(jù),【可以是多個(gè)條件,把條件放到數(shù)組里面,查詢的也是第一條數(shù)據(jù)】

$objectResult=Post::model()->findByAttributes($attributes,$condition,$params);
$objectResult=Post::model()->findByAttributes(array("username"=>"objectResult"));

8、根據(jù)SQL語(yǔ)句查詢一組數(shù)據(jù),【查詢的也是第一條數(shù)據(jù)】

$objectResult=Post::model()->findBySql($sql,$params);
$objectResult=Post::model()->findBySql("select * from objectResult where username=:name",array(":name"=>"objectResult"));

9、通過(guò)CDbCriteria類find查詢出一個(gè)對(duì)象

$criteria=new CDbCriteria; 
$criteria->select="username"; // 限制顯示哪些字段 
$criteria->condition="username=:username";     //一個(gè)查詢條件用aCondition.多條件用addCondition
$criteria->params=array(":username=>"jack"");
$criteria->order = "postsort DESC";
$criteria->limit = "3";
$post=Post::model()->find($criteria);

10、多條件查詢的語(yǔ)句

$criteria = new CDbCriteria;     
$criteria->addCondition("postid=1"); //等同于 where postid = 1 
$criteria->addInCondition("postid", array(1,2,3,4,5)); //等同于 where postid IN (1,2,3,4,5,); 
$criteria->addNotInCondition("postid", array(1,2,3,4,5));//等同于 NOT IN (1,2,3,4,5,)
$criteria->addCondition("postid=1","OR");//等同于 OR而非AND 
$criteria->addSearchCondition("username", "jack");//等同于 where name like "%jack%" 
$criteria->addBetweenCondition("postid", 1, 4);// 等同于 between 1 and 4
$criteria->compare("postid", 1);    //根據(jù)你的參數(shù)自動(dòng)處理成addCondition或者addInCondition.
$criteria->compare("postid", array(1,2,3));   //數(shù)組就會(huì)調(diào)用addInCondition 
 
 
$criteria->select = "postid,parentid,name"; //限制顯示哪些字段 
$criteria->join = "xxx"; //連接表 
$criteria->with = "xxx"; //調(diào)用relations  
$criteria->limit = 10;    //取1條數(shù)據(jù),如果小于0,則不作處理 
$criteria->offset = 1;   //兩條合并起來(lái),則表示 limit 10 offset 1,或者代表了。limit 1,10 
$criteria->order = "xxx DESC,XXX ASC" ;//排序條件 
$criteria->group = "group 條件"; 
$criteria->having = "having 條件 "; 
$criteria->distinct = FALSE; //是否唯一查詢

三、查詢個(gè)數(shù),判斷查詢是否有結(jié)果

根據(jù)一個(gè)條件查詢一個(gè)集合有多少條記錄,返回一個(gè)int型數(shù)字

$intCount=Post::model()->count($condition,$params);
$intCount=Post::model()->count("username=:name",array(":name"=>$username));

根據(jù)SQL語(yǔ)句查詢一個(gè)集合有多少條記錄,返回一個(gè)int型數(shù)字

$intCount=Post::model()->countBySql($sql,$params);
$intCount=Post::model()->countBySql("select * from objectResult where username=:name",array(":name"=>"objectResult"));

根據(jù)一個(gè)條件查詢查詢得到的數(shù)組有沒(méi)有數(shù)據(jù),有數(shù)據(jù)返回一個(gè)true,否則沒(méi)有找到

$boolExists=Post::model()->exists($condition,$params);
$boolExist=Post::model()->exists("name=:name",array(":name"=>$username));

四、添加的方法

$objectPost = new Post;       
$objectPost->username = $username;
$objectPost->password = $password;

或許

$objectPost->attributes = $arrNewData;

if($objectPost->save()){
    $intPostId= $objectPost->primaryKey; //生成主鍵id
    echo "添加成功";
}else{
    echo "添加失敗";
}

五、修改的方法

Post::model()->updateAll($attributes,$condition,$params);
$count =Post::model()->updateAll(array("username"=>"11111","password"=>"11111"),"password=:pass",array(":pass"=>"1111a1"));
if($count > 0){
    echo "修改成功";
}else{
    echo "修改失敗";
}
 
$rt = PostList::model()->updateAll(array("status"=>"1"),"staff_postid=:staff AND host_postid=:host",array(":staff"=>$staff_postid,":host"=>$host_postid));

Post::model()->updateByPk($pk,$attributes,$condition,$params);
$count=Post::model()->updateByPk(1,array("username"=>"jack","password"=>"jack"));

$count=Post::model()->updateByPk(array(1,2),array("username"=>"jack1","password"=>"jack1"),"username=:name",array(":name"=>"jack"));

if($count > 0){
    echo "修改成功";
}else{
    echo "修改失敗";
}
 
Post::model()->updateCounters($counters,$condition,$params);

$count=Post::model()->updateCounters(array("status"=>1),"username=:name",array(":name"=>"jack"));

if($count > 0){
    echo "修改成功";
}else{
    echo "修改失敗";
}
//array("status"=>1)代表數(shù)據(jù)庫(kù)中的post表根據(jù)條件username="jack",查詢出的所有結(jié)果status字段都自加1

六、刪除的方法

//deleteAll
Post::model()->deleteAll($condition,$params);
$count = Post::model()->deleteAll("username=:name and password=:pass",array(":name"=>"jack",":pass"=>"jack"));
$count = Post::model()->deleteAll("postid in("1,2,3")");//刪除postid為這些的數(shù)據(jù)
if($count>0){
    echo "刪除成功";
}else{
    echo "刪除失敗";
}
 
//deleteByPk
Post::model()->deleteByPk($pk,$condition,$params);
$count = Post::model()->deleteByPk(1);
$count =Post::model()->deleteByPk(array(1,2),"username=:name",array(":name"=>"jack"));
if($count>0){
    echo "刪除成功";
}else{
    echo "刪除失敗";
}}

七、執(zhí)行原生的SQL語(yǔ)句

$sql = "select t.*, t1.userphone, t1.truename, t1.usermail from {{member_contact}} t left join {{member}} t1 on t.userid = t1.userid where t.contactid in (1,2,3)";
$arrRows=Yii::app()->db->createCommand($sql)->query();
foreach ($arrRows as $k => $v){
  
}

八、事務(wù)處理 【多表更新插入操作請(qǐng)使用事務(wù)處理】

$transaction = Yii::app()->db->beginTransaction();
try{
                $arrOrderProfile = array(
                    "orderid"     => $orderId,
                    "userip"      => $userip,
                    "contactid" => $contactId,
                    "updatetime"=> $now
                );
                $modelOrderProfile = new RepairOrderProfile();
                $modelOrderProfile->attributes = $arrOrderProfile;
                if(!$modelOrderProfile->save()){
                    throw new CException("維修訂單生成失敗,通知事務(wù)回滾");
                }
                $recordCounter = Counter::model()->updateByPk(1,array("max_id"=>$orderId));
                if($recordCounter <= 0 )
                    throw new CException("訂單計(jì)數(shù)器更新失敗,通知事務(wù)回滾");
                $transaction->commit(); //提交事務(wù)會(huì)真正的執(zhí)行數(shù)據(jù)庫(kù)操作
}catch(Exception $e){
    file_put_contents("action.log", $e->getCode().":".$e->getMessage()."--".date("Y-m-d H:i:s",time()),FILE_APPEND);
    $transaction->rollback();
   
}  

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28773.html

相關(guān)文章

  • 使用YII 做開(kāi)發(fā)的總結(jié)

    摘要:也提供了命名查詢的方式,比如需要獲取最近一個(gè)月內(nèi)發(fā)布的篇文章,如果經(jīng)常性的用到這個(gè)查詢,可以使用命名查詢的方式來(lái)寫(xiě)。 這兩天用YII開(kāi)發(fā)了用戶管理的功能,以前雖然也用YII框架開(kāi)發(fā)過(guò)一些功能,但是總感覺(jué)對(duì)YII的使用還不是很熟練。 這次真正動(dòng)手之前,先復(fù)習(xí)了一遍 yii-guide-1.1.14.pdf 這本書(shū),上次看的時(shí)候太過(guò)于粗略了,這次仔仔細(xì)細(xì)的閱讀了一遍。 說(shuō)一下最直觀的感受 ...

    mykurisu 評(píng)論0 收藏0
  • Yii的修行之路 - Active Record 活動(dòng)記錄

    摘要:建立關(guān)聯(lián)關(guān)系后,通過(guò)可以獲取一個(gè)對(duì)象的數(shù)組,該數(shù)組代表當(dāng)前客戶對(duì)象的訂單集。定義關(guān)聯(lián)關(guān)系使用一個(gè)可以返回對(duì)象的方法,對(duì)象有關(guān)聯(lián)上下文的相關(guān)信息,因此可以只查詢關(guān)聯(lián)數(shù)據(jù)。基于表外鍵定義關(guān)聯(lián)關(guān)系是最佳方法。 簡(jiǎn)介 Yii 在操作數(shù)據(jù)庫(kù)方面提供了一個(gè)十分強(qiáng)大的類庫(kù)來(lái)支撐整個(gè)框架業(yè)務(wù)的運(yùn)轉(zhuǎn),這就是 Active Record (活動(dòng)記錄,以下簡(jiǎn)稱AR)。 基本概念 AR類提供了一個(gè)面向?qū)ο蟮慕?..

    HmyBmny 評(píng)論0 收藏0
  • yii2 ActiveRecord多表關(guān)聯(lián)以及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)

    摘要:今天把這個(gè)問(wèn)題講明白了,看看是怎么個(gè)多表關(guān)聯(lián)以及如何去優(yōu)化這個(gè)關(guān)聯(lián)。現(xiàn)需要在列表展示表的來(lái)源渠道,且該渠道可搜索。關(guān)聯(lián)表字段增加查詢中的搜索模型也是通過(guò)實(shí)現(xiàn)的,該模型通過(guò)控制著哪個(gè)字段可搜索,哪個(gè)字段不可搜索。 作者:白狼 出處:http://www.manks.top/yii2_many_ar_relation_search.html 本文版權(quán)歸作者,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留...

    venmos 評(píng)論0 收藏0
  • RageFrame 一個(gè) Yii2 + AdminLET 免費(fèi)開(kāi)源多商戶通用后臺(tái)管理系統(tǒng)

    摘要:極致的插件機(jī)制,系統(tǒng)內(nèi)的系統(tǒng),安裝和卸載不會(huì)對(duì)原來(lái)的系統(tǒng)產(chǎn)生影響強(qiáng)大的功能完全滿足各階段的需求,支持用戶多端訪問(wèn)后臺(tái)微信前臺(tái)等,系統(tǒng)中的系統(tǒng)。多入口模式,多入口分為后臺(tái)前端,微信,對(duì)內(nèi)接口,對(duì)外接口,不同的業(yè)務(wù),不同的設(shè)備,進(jìn)入不同的入口。 RageFrame 2.0 為二次開(kāi)發(fā)而生,讓開(kāi)發(fā)變得更簡(jiǎn)單 項(xiàng)目地址:https://github.com/jianyan74/... 前言 這...

    sunny5541 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

malakashi

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<