欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tp5.1框架數(shù)據(jù)庫子查詢操作實(shí)例分析

 更新時(shí)間:2020年05月26日 10:51:01   作者:人生如初見_張默  
這篇文章主要介紹了tp5.1框架數(shù)據(jù)庫子查詢操作,結(jié)合實(shí)例形式分析了tp5.1框架數(shù)據(jù)庫子查詢相關(guān)原理、操作實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下

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

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

使用fetchSql方法

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

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

生成的subQuery結(jié)果為:

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

使用buildSql構(gòu)造子查詢

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

生成的subQuery結(jié)果為:

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

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

然后使用子查詢構(gòu)造新的查詢:

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

使用閉包構(gòu)造子查詢

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 ) 

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

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

相關(guān)文章

  • Laravel模型間關(guān)系設(shè)置分表的方法示例

    Laravel模型間關(guān)系設(shè)置分表的方法示例

    這篇文章主要給大家介紹了關(guān)于Laravel模型間關(guān)系設(shè)置分表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充

    Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文的填充

    最近在學(xué)習(xí)Laravel數(shù)據(jù)庫方面的內(nèi)容,發(fā)現(xiàn)了一些資料不錯(cuò)整理出來分享給大家,下面這篇文章主要給大家介紹了關(guān)于Laravel實(shí)現(xiàn)數(shù)據(jù)庫遷移與支持中文填充的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-11-11
  • CodeIgniter框架過濾HTML危險(xiǎn)代碼

    CodeIgniter框架過濾HTML危險(xiǎn)代碼

    這篇文章主要介紹了CodeIgniter框架過濾HTML危險(xiǎn)代碼,需要的朋友可以參考下
    2014-06-06
  • Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例

    Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例

    這篇文章主要介紹了Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Yii2.0使用模型操作數(shù)據(jù)的添加、修改、刪除相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • 使用composer命令加載vendor中的第三方類庫 的方法

    使用composer命令加載vendor中的第三方類庫 的方法

    這篇文章主要介紹了使用composer命令加載vendor中的第三方類庫的方法,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • php 取得瑞年與平年的天數(shù)的代碼

    php 取得瑞年與平年的天數(shù)的代碼

    利用php如何取得取得瑞年與平年中每月份的天數(shù),如下函數(shù)
    2009-08-08
  • Zend Framework教程之請求對象的封裝Zend_Controller_Request實(shí)例詳解

    Zend Framework教程之請求對象的封裝Zend_Controller_Request實(shí)例詳解

    這篇文章主要介紹了Zend Framework教程之請求對象的封裝Zend_Controller_Request用法,結(jié)合實(shí)例形式詳細(xì)分析了請求對象封裝的原理,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-03-03
  • Laravel框架實(shí)現(xiàn)即點(diǎn)即改功能的方法分析

    Laravel框架實(shí)現(xiàn)即點(diǎn)即改功能的方法分析

    這篇文章主要介紹了Laravel框架實(shí)現(xiàn)即點(diǎn)即改功能的方法,結(jié)合具體實(shí)例形式分析了Laravel框架即點(diǎn)即改功能的實(shí)現(xiàn)原理、步驟及相關(guān)操作技巧,需要的朋友可以參考下
    2019-10-10
  • PHP實(shí)現(xiàn)簡單網(wǎng)站訪客統(tǒng)計(jì)的方法實(shí)例

    PHP實(shí)現(xiàn)簡單網(wǎng)站訪客統(tǒng)計(jì)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于PHP實(shí)現(xiàn)簡單網(wǎng)站訪客統(tǒng)計(jì)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 給ECShop添加最新評論

    給ECShop添加最新評論

    這篇文章主要介紹了給ECShop添加最新評論的方法及代碼分享,需要的朋友可以參考下
    2015-01-01

最新評論