dbConnection->createCommand($sql)->execute();】;2、【Active Record】;3、【Query Builder】。" />

亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 php框架 YII yii操作數(shù)據(jù)庫的三種方式

yii操作數(shù)據(jù)庫的三種方式

Feb 17, 2020 pm 04:36 PM
yii 數(shù)據(jù)庫

yii操作數(shù)據(jù)庫的三種方式

一、執(zhí)行原生太SQL的PDO方式

代碼如下:

$sql = "";//原生態(tài)sql語句 
xx::model()->dbConnection->createCommand($sql)->execute();

二、Active Record方式

(1)New 方式

代碼如下:

$post=new Post; 
$post->title='sample post'; 
$post->content='post body content'; 
$post->save();

(相關(guān)教程推薦:yii框架

(2)Criteria方式

也可以使用 $condition 指定更復(fù)雜的查詢條件。 不使用字符串,我們可以讓 $condition 成為一個 CDbCriteria 的實例,它允許我們指定不限于 WHERE 的條件。

代碼如下:

$criteria=new CDbCriteria; 
$criteria->select='title';  // 只選擇 'title' 列 
$criteria->condition='postID=:postID'; 
$criteria->params=array(':postID'=>10); 
$post=Post::model()->find($criteria);

一種替代 CDbCriteria 的方法是給 find 方法傳遞一個數(shù)組。 數(shù)組的鍵和值各自對應(yīng)標(biāo)準(zhǔn)(criterion)的屬性名和值,上面的例子可以重寫為如下:

$post=Post::model()->find(array( 
    'select'=>'title', 
    'condition'=>'postID=:postID', 
    'params'=>array(':postID'=>10), 
));

當(dāng)一個查詢條件是關(guān)于按指定的值匹配幾個列時,我們可以使用 findByAttributes()。我們使 $attributes 參數(shù)是一個以列名做索引的值的數(shù)組。

在一些框架中,此任務(wù)可以通過調(diào)用類似 findByNameAndTitle 的方法實現(xiàn)。雖然此方法看起來很誘人,但它常常引起混淆、沖突和比如列名大小寫敏感的問題。

三、Query Builder 方式

代碼如下:

$user = Yii::app()->db->createCommand() 
    ->select('id, username, profile') 
    ->from('tbl_user u') 
    ->join('tbl_profile p', 'u.id=p.user_id') 
    ->where('id=:id', array(':id'=>$id)) 
    ->queryRow();

想學(xué)習(xí)更多編程相關(guān)內(nèi)容,請關(guān)注php中文網(wǎng)編程教程欄目!

以上是yii操作數(shù)據(jù)庫的三種方式的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
如何在Windows/Linux上安裝MySQL 8.0? 如何在Windows/Linux上安裝MySQL 8.0? Jun 11, 2025 pm 03:25 PM

安裝MySQL8.0的關(guān)鍵在于按步驟操作并注意常見問題。Windows上推薦使用MSI安裝包,步驟包括下載安裝包、運行安裝程序、選擇安裝類型、設(shè)置root密碼、啟用服務(wù)啟動,并注意端口沖突或手動配置ZIP版;Linux(如Ubuntu)則通過apt安裝,步驟為更新源、安裝服務(wù)器、運行安全腳本、檢查服務(wù)狀態(tài)及修改root認(rèn)證方式;無論哪個平臺,都應(yīng)修改默認(rèn)密碼、創(chuàng)建普通用戶、設(shè)置防火墻、調(diào)整配置文件以優(yōu)化字符集等參數(shù),確保安全性與正常使用。

YII開發(fā)人員:高級與初中 YII開發(fā)人員:高級與初中 May 24, 2025 am 12:10 AM

資深Yii開發(fā)者與初級Yii開發(fā)者的主要區(qū)別在于經(jīng)驗、技能深度和思維方式。1.資深開發(fā)者關(guān)注性能優(yōu)化和代碼重構(gòu),使用Yii的緩存機(jī)制等提升應(yīng)用性能。2.他們深入理解Yii的底層原理,參與架構(gòu)設(shè)計和技術(shù)決策,使用模塊化設(shè)計構(gòu)建靈活的應(yīng)用。3.資深開發(fā)者注重項目整體規(guī)劃和長遠(yuǎn)發(fā)展,扮演導(dǎo)師角色。初級開發(fā)者則需通過學(xué)習(xí)和實踐逐步提升,最終成長為資深開發(fā)者。

查看MongoDB中所有數(shù)據(jù)庫的方法 查看MongoDB中所有數(shù)據(jù)庫的方法 Jun 04, 2025 pm 10:42 PM

在MongoDB中查看所有數(shù)據(jù)庫的方法是輸入命令“showdbs”。1.該命令只顯示非空數(shù)據(jù)庫。2.可以通過“use”命令切換數(shù)據(jù)庫并插入數(shù)據(jù)使其顯示。3.注意內(nèi)部數(shù)據(jù)庫如“l(fā)ocal”和“config”。4.使用驅(qū)動程序時需用“l(fā)istDatabases()”方法獲取詳細(xì)信息。5.“db.stats()”命令可查看數(shù)據(jù)庫詳細(xì)統(tǒng)計信息。

我什么時候應(yīng)該使用redis代替?zhèn)鹘y(tǒng)數(shù)據(jù)庫? 我什么時候應(yīng)該使用redis代替?zhèn)鹘y(tǒng)數(shù)據(jù)庫? May 13, 2025 pm 04:01 PM

用戶edisinsteadofatraditionaldatabasewhenyourapplicationrequirespeedandreal-timedataprocorsing,sueAsAsforCaching,sessionmanagement,orrereal-timeanalytics.redisexcelsin:1)caching,緩存,減少載荷載量

sql數(shù)據(jù)庫語句大全 sql數(shù)據(jù)庫常用語句匯總 sql數(shù)據(jù)庫語句大全 sql數(shù)據(jù)庫常用語句匯總 May 28, 2025 pm 08:12 PM

SQL常用語句包括:1.CREATETABLE創(chuàng)建表,如CREATETABLEemployees(idINTPRIMARYKEY,nameVARCHAR(100),salaryDECIMAL(10,2));2.CREATEINDEX創(chuàng)建索引,如CREATEINDEXidx_nameONemployees(name);3.INSERTINTO插入數(shù)據(jù),如INSERTINTOemployees(id,name,salary)VALUES(1,'JohnDoe',75000.00);4.SELECT查

如何使用雄辯在數(shù)據(jù)庫中創(chuàng)建新記錄? 如何使用雄辯在數(shù)據(jù)庫中創(chuàng)建新記錄? Jun 14, 2025 am 12:34 AM

要使用Eloquent在數(shù)據(jù)庫中創(chuàng)建新記錄,有四種主要方法:1.使用create方法,傳入屬性數(shù)組快速創(chuàng)建記錄,如User::create(['name'=>'JohnDoe','email'=>'john@example.com']);2.使用save方法手動實例化模型并逐個賦值保存,適用于需要條件賦值或額外邏輯的場景;3.使用firstOrCreate根據(jù)搜索條件查找或創(chuàng)建記錄,避免重復(fù)數(shù)據(jù);4.使用updateOrCreate查找記錄并更新,若無則創(chuàng)建,適合處理導(dǎo)入數(shù)據(jù)等可能重

YII開發(fā)人員與Laravel:有什么區(qū)別? YII開發(fā)人員與Laravel:有什么區(qū)別? May 17, 2025 am 12:01 AM

yiiisbetterforhigh-porformanceProjectProjectsswithasteeperlearningcurve,而lielararavelsuitsrapidDeveloverment withalargeecosystem.1)selectyiiiforperperformenceandmodularity.2)perforforlararavelfellavelforeforeaseandext positemendext explendext extseandext

MongoDB在行動中:現(xiàn)實世界中的用例 MongoDB在行動中:現(xiàn)實世界中的用例 May 11, 2025 am 12:18 AM

MongoDB在實際項目中的用法包括:1)文檔存儲,2)復(fù)雜的聚合操作,3)性能優(yōu)化和最佳實踐。具體來說,MongoDB的文檔模型支持靈活的數(shù)據(jù)結(jié)構(gòu),適合處理用戶生成內(nèi)容;聚合框架可用于分析用戶行為;性能優(yōu)化可以通過索引優(yōu)化、分片和緩存實現(xiàn),最佳實踐包括文檔設(shè)計、數(shù)據(jù)遷移和監(jiān)控維護(hù)。

See all articles