如何在thinkPHP5框架中使用闭包函数

  介绍

如何在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框架中使用闭包函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

如何在thinkPHP5框架中使用闭包函数