激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - thinkPHP5框架閉包函數與子查詢傳參用法示例

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

2019-09-16 16:27菜鳥沒翅膀 PHP教程

這篇文章主要介紹了thinkPHP5框架閉包函數與子查詢傳參用法,結合實例形式分析了thinkPHP5閉包查詢與參數傳遞相關操作技巧,需要的朋友可以參考下

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

普通使用

舉個栗子:

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

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

最后執行的sql是:

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

復雜用法

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

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

這也就是thinkphp 5 里怎么使用閉包查詢傳參數的方法,使用use 傳入參數。

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);

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色妞妞视频| 久久久久97国产精 | 黑人一级片| 国产一级淫片在线观看 | 在线播放视频一区二区 | 69av导航 | 亚洲一区二区三区视频 | 欧美不卡 | 91短视频在线免费观看 | 亚洲九九爱 | 成人毛片网 | 亚洲精品在线观看网站 | 精品在线观看一区二区三区 | 日朝毛片 | 在线观看中文字幕av | 亚洲精品一区二区三区免 | 成人做爽爽爽爽免费国产软件 | 国产精品久久久久一区二区 | 久久蜜臀一区二区三区av | 欧美一级高清片在线 | 国产精品91久久久 | 特一级黄色毛片 | 精品一区二区免费 | 精品黑人一区二区三区国语馆 | 九色国产| 免费看日韩片 | 亚洲国产精品久久久久制服红楼梦 | 免费在线观看国产精品 | 国产毛片自拍 | 久久精品亚洲一区二区三区观看模式 | 欧美高清在线精品一区二区不卡 | 久久成人综合视频 | 久久性生活免费视频 | 国产亚洲激情 | 视屏一区 | 亚洲第一男人天堂 | 色视频在线观看 | 激情综合视频 | 91 久久| 欧美人与牲禽动交精品一区 | 日韩视频一区二区三区在线观看 |