本文实例讲述了laravel 框架结合关联查询 when()用法。分享给大家供大家参考,具体如下:
laravel 5.6 里面的when用法:
$name = $request->get('name'); //活动标题$start_time = $request->get('start_time'); //活动开始时间$ur_name = $request->get('ur_name'); //发布者$limit = (int) $request->get('limit', 15);$offt = (int) $request->get('offt', 0);$data=activejiesuan::with(['ur' => function ($query) {$query->lect('id','name');}, 'active'=> function ($query) {$query->lect('id','name','start');}]) ->when($name, function ($query) u ($name) { 安全生产奖惩制度return $query->wherehas('active', function ($query) u ($name) { re英寻turn $query->where('name', 'like', '%'.$name.'%'); }); }) ->when($ur_name, function ($query) u ($ur_name) { return $query->wherehas('ur', function ($query) u ($ur_name) { return $query->where('name', 'like', '%'.$ur_name.'%'); }); }) ->when($start_time, funct春节放假通知模板范文ion ($query) u ($start_time) { return $query->wherehas('act消防安全公开课观后感ive', function ($query) u ($start_time) { return $query->where('start', '>=', $start_time); }); }) ->limit($limit) ->offt($offt) ->orderby('id', 'desc') ->paginate()->toarray();
源代码路径: d:\phpstudy\www\faceke\vendor\laravel\framework\src\illuminate\databa\concerns\buildsqueries.php
public function when($va历史故事成语有哪些lue, $callback, $default = null){ if ($value) { return $callback($this, $value) ?: $this; } elif ($default) { return $default($this, $value) ?: $this; } return $this; }
when会判断第一个参数的真与假,如果是真,则执行第一个callback,如果是假,
则执行默认的方法,我的那段代码就只设置了真的时候需要执行的代码,因为条件有三种,
不只有两种。这样的话可以使代码易读性更好,当然也可以拆分子句,
但是when这个用法相对更赞。
如上用法直接用关联表中的字段作为搜索条件就更赞了!!!
本文发布于:2023-04-08 05:28:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/c0dcd2fb66d113cfa68c5c47dcef21ab.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:laravel 框架结合关联查询 when()用法分析.doc
本文 PDF 下载地址:laravel 框架结合关联查询 when()用法分析.pdf
留言与评论(共有 0 条评论) |