主頁 > 知識庫 > thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例

thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例

熱門標簽:合肥企業(yè)外呼系統(tǒng)線路 神龍斗士電話機器人 宿州正規(guī)外呼系統(tǒng)軟件 代理打電話機器人 電信外呼系統(tǒng)多少錢一個月 桂陽公司如何做地圖標注 萍鄉(xiāng)商鋪地圖標注 太原400電話申請流程 企業(yè)400電話辦理多少費用

本文實例講述了thinkPHP5框架閉包函數(shù)用法。分享給大家供大家參考,具體如下:

普通使用

舉個栗子:

$this->where(function ($query)
{
 $query->where('id', 1)->whereor('id', 2);
})->find();

上述栗子就是一個簡單的where查詢的閉包函數(shù)使用,使用匿名函數(shù)添加復雜條件查詢,

最后執(zhí)行的sql是:

// 加入上述代碼寫在user模型里,則執(zhí)行的sql為:
select * from user where (id = 1 or id = 2);

復雜用法

其實閉包函數(shù)也不會復雜到哪去,無非帶參數(shù)不帶參數(shù)而已。舉個栗子(上面的栗子加強下)

$this->where(function ($query) use ($id1, $id2)
{
 $query->where('id', $id1)->whereor('id', $id2);
})->find();

這也就是thinkphp 5 里怎么使用閉包查詢傳參數(shù)的方法,使用use 傳入?yún)?shù)。

tp5閉包子查詢傳參方法

在channel表中查詢status,channel_id,channel_name,account_level這些字段,且這些字段的channel_id不在adv_id為$id的表adv_channel_rule中:

$model = new Model();
$id = $req_models["id"];

tp5閉包子查詢傳參:

$res = $model->table('channel')
  ->field(['status','channel_id','channel_name','account_level'])
  ->where('channel_id','NOT IN',function($query) use ($id) {
 $query->table('adv_channel_rule')->where("adv_id",$id)->field('channel_id');
  })->select();

mysql的原生寫法:

$res = 'SELECT adv_id,adv_name,status,account_level FROM `channel` WHERE channel_id NOT IN (SELECT channel_id FROM adv_channel_rule WHERE adv_id='.$id.')';
$result = $model->query($res);

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

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

您可能感興趣的文章:
  • ThinkPHP5查詢數(shù)據(jù)及處理結(jié)果的方法小結(jié)
  • thinkPHP5實現(xiàn)的查詢數(shù)據(jù)庫并返回json數(shù)據(jù)實例
  • tp5(thinkPHP5)框架數(shù)據(jù)庫Db增刪改查常見操作總結(jié)
  • tp5(thinkPHP5)框架實現(xiàn)多數(shù)據(jù)庫查詢的方法
  • ThinkPHP5聯(lián)合(關(guān)聯(lián))查詢、多條件查詢與聚合查詢實例詳解
  • tp5(thinkPHP5框架)時間查詢操作實例分析
  • ThinkPHP5框架緩存查詢操作分析
  • thinkPHP5框架實現(xiàn)多數(shù)據(jù)庫連接,跨數(shù)據(jù)連接查詢操作示例
  • Thinkphp5.0框架的Db操作實例分析【連接、增刪改查、鏈式操作等】
  • ThinkPHP5.1框架數(shù)據(jù)庫鏈接和增刪改查操作示例
  • tp5.1 框架join方法用法實例分析

標簽:衡陽 綏化 廊坊 白銀 辛集 太原 崇左 鄂州

巨人網(wǎng)絡通訊聲明:本文標題《thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例》,本文關(guān)鍵詞  thinkPHP5,框架,閉包,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于thinkPHP5框架閉包函數(shù)與子查詢傳參用法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章