最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Yii CDBCriteria常用方法實例小結(jié)

 更新時間:2017年01月19日 14:18:57   作者:SherlockGh  
這篇文章主要介紹了Yii CDBCriteria常用方法,結(jié)合實例形式總結(jié)分析了CDBCriteria類的功能與常用方法,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了Yii CDBCriteria常用方法。分享給大家供大家參考,具體如下:

注:$c = new CDbCriteria();是ActiveRecord的一種寫法,使ActiveRecord更加靈活,而不是手冊中DAO(PDO)和Query Builder。

小小點評一下:感覺這部分手冊做的一般。

鏈接地址:http://www.yiiframework.com/doc/api/1.1/CDbCriteria

這是Yii CDbCriteria的一些筆記和常用用法:

一、一個sql拼裝的情況

Php代碼:

$criteria = new CDbCriteria;
//函數(shù)方式
$criteria->addCondition("id=1"); //查詢條件,即where id = 1
$criteria->addInCondition('id', array(1,2,3,4,5)); //代表where id IN (1,23,,4,5,);
$criteria->addNotInCondition('id', array(1,2,3,4,5));//與上面正好相法,是NOT IN
$criteria->addCondition('id=1','OR');//這是OR條件,多個條件的時候,該條件是OR而非AND
$criteria->addSearchCondition('name', '分類');//搜索條件,其實代表了。。where name like '%分類%'
$criteria->addBetweenCondition('id', 1, 4);//between 1 and 4
$criteria->compare('id', 1); //這個方法比較特殊,他會根據(jù)你的參數(shù)自動處理成addCondition或者addInCondition,
//即如果第二個參數(shù)是數(shù)組就會調(diào)用addInCondition
$criteria->addCondition("id = :id");
$criteria->params[':id']=1;
//屬性方式
$criteria->select = 'id,parentid,name'; //代表了要查詢的字段,默認select='*';
$criteria->join = 'xxx'; //連接表
$criteria->with = 'xxx'; //調(diào)用relations
$criteria->limit = 10; //取1條數(shù)據(jù),如果小于0,則不作處理
$criteria->offset = 1; //兩條合并起來,則表示 limit 10 offset 1,或者代表了。limit 1,10
$criteria->order = 'xxx DESC,XXX ASC' ;//排序條件
$criteria->group = 'group 條件';
$criteria->having = 'having 條件 ';
$criteria->distinct = FALSE; //是否唯一查詢

實例:

Php代碼:

$criteria = new CDbCriteria();
$criteria->select = 'table_name,model_id,sum(amount) total';
$criteria->group = 'table_name,model_id';
$criteria->addCondition("$nIdcId=4");//也可以$criteria->condition = "$nIdcId=4";
$aResult = accessory_info::model()->findAll($criteria);
$c = new CDbCriteria();
$c->select = 't.id, t.created_at, t.outsource_id, t.user_id, t.operate, t.content';
$c->join = 'LEFT JOIN outsource ON outsource.id=t.outsource_id';
$c->condition = 'outsource.idc_id IN(' . implode(',', $idc_ids) . ')';
if($last_log_id) {
$c->condition .= " AND t.id > $last_log_id";
}
$c->limit = 20;
$c->order = 't.id DESC';
$logs = OutsourceProcessLog::model()->findAll($c);

批注:

1. 與DAO方式結(jié)果區(qū)別是:DAO方式 數(shù)組中的每一個元素仍是數(shù)組。而通過CDbCriteria方式,數(shù)組中的元素是對象。
2. 即使該功能很強大,仍有一些需求不能滿足,此時仍需sql語句。比如select avg(num) amount from ****。
3. 打印運行后的結(jié)果,可更深入yii這么做是如何實現(xiàn)的

Php代碼:

//可見
$c = new CDbCriteria();
$c->join = "JOIN idc_user on t.id=idc_user.user_id";
$c->condition = "idc_user.idc_id=$idc_id";
//運行后
object(CDbCriteria)#98 (12) { ["select"]=> string(1) "*" ["distinct"]=> bool(false) ["condition"]=> string(17) "idc_user.idc_id=6" ["params"]=> array(0) { } ["limit"]=> int(-1) ["offset"]=> int(-1) ["order"]=> string(0) "" ["group"]=> string(0) "" ["join"]=> string(38) "JOIN idc_user on t.id=idc_user.user_id" ["having"]=> string(0) "" ["with"]=> NULL ["alias"]=> NULL }
//User::model()->with('Idcs')->findAll($c)

二、mergeWith的情況

Php代碼:

//在ActiveRecord中,增加條件限制
$this->getDbCriteria()->mergeWith(array(
'condition'=>"idc_id IN ($ids)",
));

更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家基于Yii框架的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php中使用GD庫做驗證碼

    php中使用GD庫做驗證碼

    本文給大家分享的是使用php的GD庫來實現(xiàn)驗證碼功能的方法和全部代碼,有需要的小伙伴可以參考下
    2016-03-03
  • YII2框架中查詢生成器Query()的使用方法示例

    YII2框架中查詢生成器Query()的使用方法示例

    這篇文章主要介紹了YII2框架中查詢生成器Query()的使用方法,結(jié)合實例形式詳細分析了YII2查詢生成器Query()的基本功能與使用方法,需要的朋友可以參考下
    2020-03-03
  • PHP之CI框架學(xué)習(xí)講解

    PHP之CI框架學(xué)習(xí)講解

    這篇文章主要介紹了PHP之CI框架學(xué)習(xí)講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Yii中CArrayDataProvider和CActiveDataProvider區(qū)別實例分析

    Yii中CArrayDataProvider和CActiveDataProvider區(qū)別實例分析

    這篇文章主要介紹了Yii中CArrayDataProvider和CActiveDataProvider區(qū)別,結(jié)合實例形式分析了Yii中CArrayDataProvider和CActiveDataProvider的具體功能與用法,需要的朋友可以參考下
    2016-03-03
  • 基礎(chǔ)的WordPress插件制作教程

    基礎(chǔ)的WordPress插件制作教程

    這篇文章主要介紹了基礎(chǔ)的WordPress插件制作教程,包括基本的使用ajax提交數(shù)據(jù)的實現(xiàn),需要的朋友可以參考下
    2015-11-11
  • ubuntu12.04使用c編寫php擴展模塊教程分享

    ubuntu12.04使用c編寫php擴展模塊教程分享

    php語言自帶了很多的擴展模塊,諸如mbstring、gd、pdo等等。有時為了提高效率,需要用C實現(xiàn)其中的一些功能,就可以自行編寫php的擴展模塊
    2013-12-12
  • WAF的正確bypass

    WAF的正確bypass

    這篇文章主要介紹了WAF的正確bypass的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 圖文詳解PHP中GC回收機制的利用

    圖文詳解PHP中GC回收機制的利用

    GC如其名就是垃圾收集,當(dāng)然這里僅就內(nèi)存而言,下面這篇文章主要給大家介紹了關(guān)于PHP中GC回收機制利用的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)

    Laravel 中使用簡單的方法跟蹤用戶是否在線(推薦)

    最近小編在做一個需求,需要在Laravel應(yīng)用程序用戶個人資料頁面上,用戶名旁邊添加一個綠點,表示他們是否在線。下面小編給大家?guī)硪环N簡單方法實現(xiàn)Laravel 跟蹤用戶是否在線,感興趣的朋友一起看看吧
    2019-10-10
  • php實現(xiàn)httpclient類示例

    php實現(xiàn)httpclient類示例

    這篇文章主要介紹了php實現(xiàn)httpclient類示例,需要的朋友可以參考下
    2014-04-04

最新評論

蛟河市| 石首市| 五寨县| 乐清市| 怀集县| 沅江市| 南郑县| 丰原市| 黄大仙区| 屯留县| 岳池县| 垦利县| 鄂伦春自治旗| 田阳县| 蒙城县| 建始县| 广灵县| 平邑县| 崇文区| 兴化市| 白朗县| 白朗县| 布拖县| 杂多县| 海林市| 威宁| 枣阳市| 韶关市| 天柱县| 巴塘县| 仙游县| 苍南县| 万宁市| 壤塘县| 鸡泽县| 定兴县| 九江县| 巴林左旗| 巴马| 兴安县| 博爱县|