校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > tp5.1框架數據庫子查詢操作實例分析

tp5.1框架數據庫子查詢操作實例分析

熱門標簽:菏澤語音外呼系統運營商 廈門400電話辦理選易號網 天客通地圖標注 公司外呼系統中心 如何在世界地圖標注 梧州市機器人外呼系統怎么樣 臨沂crm外呼系統平臺 地圖標注符號樣式有 電子地圖標注怎么修改

本文實例講述了tp5.1框架數據庫子查詢操作。分享給大家供大家參考,具體如下:

首先構造子查詢SQL,可以使用下面三種的方式來構建子查詢。

使用fetchSql方法

fetchSql方法表示不進行查詢而只是返回構建的SQL語句,并且不僅僅支持select,而是支持所有的CURD查詢。

$subQuery = Db::table('think_user')
 ->field('id,name')
 ->where('id', '>', 10)
 ->fetchSql(true)
 ->select();

生成的subQuery結果為:

SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 

使用buildSql構造子查詢

$subQuery = Db::table('think_user')
 ->field('id,name')
 ->where('id', '>', 10)
 ->buildSql();

生成的subQuery結果為:

( SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 )

調用buildSql方法后不會進行實際的查詢操作,而只是生成該次查詢的SQL語句(為了避免混淆,會在SQL兩邊加上括號),然后我們直接在后續的查詢中直接調用。

然后使用子查詢構造新的查詢:

Db::table($subQuery . ' a')
 ->where('a.name', 'like', 'thinkphp')
 ->order('id', 'desc')
 ->select();

生成的SQL語句為:

SELECT * FROM ( 
 SELECT `id`,`name` FROM `think_user` WHERE `id` > 10 ) a 
WHERE 
 a.name LIKE 'thinkphp' 
ORDER BY 
 `id` 
desc

使用閉包構造子查詢

IN/NOT INEXISTS/NOT EXISTS之類的查詢可以直接使用閉包作為子查詢,例如:

Db::table('think_user')
 ->where('id', 'IN', function ($query) {
  $query->table('think_profile')->where('status', 1)->field('id');
 })
 ->select();

生成的SQL語句是

SELECT * FROM `think_user` 
WHERE `id` IN ( SELECT `id` FROM `think_profile` WHERE `status` = 1 )
Db::table('think_user')
 ->whereExists(function ($query) {
  $query->table('think_profile')->where('status', 1);
 })->find();

生成的SQL語句為

SELECT * FROM `think_user` 
WHERE EXISTS ( SELECT * FROM `think_profile` WHERE `status` = 1 ) 

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP tp5中使用原生sql查詢代碼實例
  • tp5.1 框架數據庫-數據集操作實例分析
  • tp5.1 框架路由操作-URL生成實例分析
  • tp5.1 框架join方法用法實例分析
  • tp5.1 框架數據庫常見操作詳解【添加、刪除、更新、查詢】
  • TP5多入口設置實例講解

標簽:瀘州 迪慶 白城 雞西 貴陽 郴州 綿陽 黃石

巨人網絡通訊聲明:本文標題《tp5.1框架數據庫子查詢操作實例分析》,本文關鍵詞  tp5.1,框架,數據庫,子,查詢,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《tp5.1框架數據庫子查詢操作實例分析》相關的同類信息!
  • 本頁收集關于tp5.1框架數據庫子查詢操作實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 从江县| 九龙坡区| 峨边| 鲁甸县| 桐梓县| 和田市| 濮阳县| 汝州市| 缙云县| 珠海市| 衡东县| 来宾市| 泾川县| 大竹县| 巍山| 威信县| 株洲市| 通河县| 肇源县| 大城县| 合川市| 新沂市| 巴林右旗| 凤翔县| 乌恰县| 巨野县| 东兴市| 大城县| 巴林右旗| 即墨市| 新野县| 屯留县| 肇州县| 内丘县| 镇宁| 平远县| 壶关县| 京山县| 霍林郭勒市| 句容市| 广东省|