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

国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php框架 YII yii操作數據庫的三種方式

yii操作數據庫的三種方式

Feb 17, 2020 pm 04:36 PM
yii 數據庫

yii操作數據庫的三種方式

一、執(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();

(相關教程推薦:yii框架

(2)Criteria方式

也可以使用 $condition 指定更復雜的查詢條件。 不使用字符串,我們可以讓 $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 方法傳遞一個數組。 數組的鍵和值各自對應標準(criterion)的屬性名和值,上面的例子可以重寫為如下:

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

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

在一些框架中,此任務可以通過調用類似 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();

想學習更多編程相關內容,請關注php中文網編程教程欄目!

以上是yii操作數據庫的三種方式的詳細內容。更多信息請關注PHP中文網其他相關文章!

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

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

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

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

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

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

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

sql數據庫語句大全 sql數據庫常用語句匯總 sql數據庫語句大全 sql數據庫常用語句匯總 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插入數據,如INSERTINTOemployees(id,name,salary)VALUES(1,'JohnDoe',75000.00);4.SELECT查

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

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

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

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

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

如何在操作系統(tǒng)(Windows,MacOS,Linux)上安裝YII? 如何在操作系統(tǒng)(Windows,MacOS,Linux)上安裝YII? Jun 17, 2025 am 09:21 AM

安裝Yii框架需根據不同操作系統(tǒng)配置PHP和Composer,具體步驟如下:1.Windows上需手動下載PHP并配置環(huán)境變量,再安裝Composer,使用命令創(chuàng)建項目并運行內置服務器;2.macOS推薦用Homebrew安裝PHP和Composer,接著創(chuàng)建項目并啟動開發(fā)服務器;3.Linux(如Ubuntu)通過apt安裝PHP及擴展和Composer,然后創(chuàng)建項目并配合Apache或Nginx部署正式環(huán)境。不同系統(tǒng)的主要差異在環(huán)境搭建階段,一旦PHP和Composer就緒,后續(xù)流程一致,注

See all articles