首页 > 作文

laravel 框架结合关联查询 when()用法分析

更新时间:2023-04-08 05:28:48 阅读: 评论:0

本文实例讲述了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 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图