介绍
如何在thinkPHP5框架中使用闭包函数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<>强普通使用强>
举个栗子:
$ this→(function (查询) { ,查询→美元,(& # 39;id # 39;,, 1)→whereor (& # 39; id # 39;,, 2); })→找到();
上述栗子就是一个简单的<代码>,代码>查询的闭包函数使用,使用匿名函数添加复杂条件查询,
最后执行的sql是:
//,加入上述代码写在用户模型里,则执行的sql为: select *,得到user where (id =, 1,趁机id =, 2),
<强>复杂用法强>
其实闭包函数也不会复杂到哪去,无非带参数不带参数而已。举个栗子(上面的栗子加强下)
$ this→(function (查询),use (id1、美元,美元id2) { ,查询→美元,(& # 39;id # 39;,, id1美元)→whereor (& # 39; id # 39;,,美元id2); })→找到();
这也就是thinkphp 5里怎么使用闭包查询传参数的方法,使用<代码> 代码>使用传入参数。
<强> tp5闭包子查询传参方法强>
在频道表中查询状态,channel_id, channel_name, account_level这些字段,且这些字段的channel_id不在adv_id为$ id的表adv_channel_rule中:
model 美元;=,new 模型(); id 美元;=,req_models美元[“id"];
<强> tp5闭包子查询传参:强>
res 美元;=,美元模型→表(& # 39;频道# 39;) →字段才能([& # 39;状态# 39;& # 39;channel_id& # 39;, & # 39; channel_name& # 39;, & # 39; account_level& # 39;]) →在哪里才能(& # 39;channel_id& # 39;, & # 39; NOT 上# 39;,函数(查询)美元,use ($ id), { 表,查询→美元(& # 39;adv_channel_rule& # 39;)→在(“adv_id", $ id)→字段(& # 39;channel_id& # 39;); })→才能选择();
<强> mysql的原生写法:强>
res 美元;=,& # 39;SELECT adv_id, adv_name,地位,account_level 得到“通道”,WHERE channel_id NOT 拷贝(SELECT channel_id 得到adv_channel_rule WHERE adv_id=& # 39; $ id强生# 39;)& # 39;; result 美元;=,$模型→查询(res)美元;
关于如何在thinkPHP5框架中使用闭包函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。