laravel 链式组合查询数据
laravel 链式组合查询数据
一、总结
一句话总结:
- 就是链式操作的基本操作,因为返回的都是一直可以进行链式操作的对象,所以我们接收返回的对象即可
- $result = DB::table($table_name);
- $result = $result->whereIn($first_field,$first_datas);
二、laravel 链式组合查询数据
转自或参考:laravel 链式组合查询数据
https://blog.csdn.net/weixin_43885417/article/details/85018633
我们写项目的时候经常用到组合查询,例如对于一篇博客,你想根据一个著作的著作类别,编著形式,研究类别进行查询。这个时候,我们就可以链式组合查询。前台给我们后台什么类型,我们就根据这个类型去执行sql语句。这样十分的灵活。
应用场景:

下面是我封装的链式组合查询代码:
//根据字段组合查询数据
    public static function combinationSelectDatas($condition_datas,$second_field = '',$second_datas = [],$third_field = '',$third_datas = []){
         $first_field = $condition_datas['first_field'];
         $first_datas = $condition_datas['first_datas'];
         $table_name  = $condition_datas['table_name'];
         $result = DB::table($table_name);
         if(!empty($first_datas)){
             $result = $result->whereIn($first_field,$first_datas);
         }
         if(!empty($second_datas)){
             $result = $result->whereIn($second_field,$second_datas);
         }
         if(!empty($third_datas)){
             $result = $result->whereIn($third_field,$third_datas);
         }
         $result = $result->paginate($condition_datas['total']);
         $time_field  = $condition_datas['time_field'];
         foreach ($result as $datas){
             $datas->$time_field = date('Y-m-d',$datas->$time_field/1000);
         }
         return responseTojson(0,'查询成功','',$result);
    }
这样写,我们就可以随心所欲,前台给我们什么,我们就组合查什么。
laravel 链式组合查询数据的更多相关文章
- thinkphp查询构造器和链式操作、事务
		插入 更新记录 查询数据 删除数据 插入数据----name这种用法,会去config.php中去寻找前缀,如果你定义了前缀tp,那么执行下条语句会查询对tp_data的插入操作 链式操作---> ... 
- python 迭代器链式处理数据
		pytorch.utils.data可兼容迭代数据训练处理,在dataloader中使用提高训练效率:借助迭代器避免内存溢出不足的现象.借助链式处理使得数据读取利用更高效(可类比操作系统的资源调控) ... 
- python和go对比字符串的链式处理
		一.什么是链式处理 对数据的操作进行多步骤的处理称为链式处理,链式处理器是一种常见的编程设计,链式处理的开发思想将数据和操作拆分,解耦,让开发者可以根据自己的技术优势和需求,进行系统开发,同时将自己的 ... 
- ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作
		查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ... 
- sql的行转列(PIVOT)与列转行(UNPIVOT)  webapi 跨域问题  Dapper 链式查询 扩展  T4 代码生成 Demo (抽奖程序)
		sql的行转列(PIVOT)与列转行(UNPIVOT) 在做数据统计的时候,行转列,列转行是经常碰到的问题.case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比 ... 
- Laravel框架中的数据库CURD操作、连贯操作、链式操作的用法
		Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁.富于 ... 
- 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
		前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ... 
- laravel 查询数据返回的结果
		laravel查询数据返回的结果 在插入数据库的时候,发现查询数据返回的结果是一个对象;即使是空数据 返回的不是true或者false 那么要判断该结果是否查询有结果 该如果呢? 学习源头: http ... 
- Dapper 链式查询 扩展
		Dapper 链式查询扩展 DapperSqlMaker Github地址:https://github.com/mumumutou/DapperSqlMaker 欢迎大佬加入 Demo: 查询 ... 
随机推荐
- JDK + Tomcat 安装 + 制作自定义镜像【第 1 篇 JDK】
			[第 1 篇 JDK]:https://www.cnblogs.com/del88/p/11842387.html[第 2 篇 Tomcat]:https://www.cnblogs.com/del8 ... 
- base64转换成文件图片
			最近搞小程序分享画布遇到的坑 canvas drawImage 传入的第一个参数是 imageResource 图片资源路径,这个参数通常由从相册选择图片 wx.chooseImage 或 wx.ge ... 
- ES6-数组的扩展-整理
			一.Array.from():负责把类似数组的对象以及可遍历的对象转为真正的数组 1.类似数组的对象 let arrayLike = { '0': 'a', '1': 'b', '2': 'c', l ... 
- ASE19团队项目alpha阶段model组 scrum5 记录
			本次会议于11月7日,19时整在微软北京西二号楼sky garden召开,持续12分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing W ... 
- java EE,java Web中的400,404,405等各种错误介绍
			4 请求失败4xx 4xx应答定义了特定服务器响应的请求失败的情况.客户端不应当在不更改请求的情况下重新尝试同一个请求.(例如,增加合适的认证信息).不过,同一个请求交给不同服务器也许就会成功. 4. ... 
- PHP中RabbitMQ之phpAmqplib实现(五
			本章讲诉如何使用php-amqplib实现RabbitMQ. 环境:CoentOS,PHP 7 简单介绍一下php-amqplib php-amqplib是Advanced Message Queui ... 
- VIM从原理上认识^M问题
			问题背景 VIM在打开文件的时候如果遇到两种换行符风格(dos与unix)共存的文件,通常会在行尾显示出烦人的^M.如果^M较少,比较容易定位到哪几行出了问题,但是如果^M较多,就很难搞.下面先给出解 ... 
- 如何解决Bat脚本中包含中文,运行乱码
			bat文件右键用“ 编辑” 打开, 另存为时,UTF-8保存为ANSI 格式.即可解决运行是乱码问题, 有notepad++更好 修改直接保存,也不用另存为. 
- fnmatch:Unix式glob模式匹配,简单场景下可以代替正则
			介绍 fnmatch模块用于根据glob模式(如Unix shell所使用的的模式)比较文件名 简单匹配 import fnmatch ''' fnmatch将一个文件名与一个模式进行比较,并返回一个 ... 
- BZOJ 3439: Kpm的MC密码 (trie+dfs序主席树)
			题意 略 分析 把串倒过来插进trietrietrie上, 那么一个串的kpmkpmkpm串就是这个串在trietrietrie上对应的结点的子树下面的所有字符串. 那么像 BZOJ 3551/354 ... 
