laravel 获取数据库操作异常(Laravel Eloquent ORM 多条件查询的例子)
类别:编程学习 浏览量:188
时间:2021-10-11 00:40:49 laravel 获取数据库操作异常
Laravel Eloquent ORM 多条件查询的例子一、需求:
在数据搜索时最常见的就是调用同一个方法查询,而查询的字段却可能是其中一个或其中的几个字段一起组合查询,例如:对列表的搜索,基本上都是几个字段随意组合搜索。那么在model里就需要判断有那个字段组合,怎么组合。
网上找了很久,Laravel群里也问了几个,都说没有写过,于是自己写个吧。话不多说,见代码:
|
function findByParam( $param = array ()) { $select = new Customer(); if (isset( $param [ 'name' ]) && '' != $param [ 'name' ]) { $select = $select ->where( 'customer.name' , '=' , $param [ 'name' ]); } if (isset( $param [ 'phone' ]) && '' != $param [ 'phone' ]) { $select = $select ->where( 'customer.phone' , '=' , $param [ 'phone' ]); } if (isset( $param [ 'email' ]) && '' != $param [ 'email' ]) { $select = $select ->where( 'customer.email' , '=' , $param [ 'email' ]); } if (isset( $param [ 'tel' ]) && '' != $param [ 'tel' ]) { $select = $select ->where( 'customer.tel' , '=' , $param [ 'tel' ]); } if (isset( $param [ 'qq' ]) && '' != $param [ 'qq' ]) { $select = $select ->where( 'customer.qq' , '=' , $param [ 'qq' ]); } if (isset( $param [ 'IDCard' ]) && '' != $param [ 'IDCard' ]) { $select = $select ->where( 'customer.IDCard' , '=' , $param [ 'IDCard' ]); } $customers = $select ->leftJoin( "member" , function ( $join ) { $join ->on( "customer.memberID" , "=" , "member.id" ); }) ->get( array ( 'customer.id' , 'customer.name' , 'customer.sex' , 'customer.tel' , 'customer.phone' , 'customer.address' , 'customer.email' , 'customer.qq' , 'customer.headPic' , 'customer.birthday' , 'customer.IDCard' , 'customer.enable' , 'customer.memberID' , 'customer.IDCard' , 'customer.info' , 'member.name as mname' , 'member.discount' )); return json_encode( $customers ); |
调用的时候,controller里只需要接收这些字段,无论它是否有值,直接加入到$param数组中查询就OK,例如:
|
function anyFindbyparam() { $name = Input::get( 'name' ); $tel = Input::get( 'tel' ); $phone = Input::get( 'phone' ); $email = Input::get( 'email' ); $qq = Input::get( 'qq' ); $IDCard = Input::get( 'IDCard' ); $customer = new Customer(); $customers = $customer ->findByParam( array ( 'name' => $name , 'tel' => $tel , 'phone' => $phone , 'email' => $email , 'qq' => $qq , 'IDCard' => $IDCard )); return $customers ; } |
以上这篇Laravel Eloquent ORM 多条件查询的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/a437629292/article/details/44038411
您可能感兴趣
- laravel完成权限验证(laravel实现Auth认证,登录、注册后的页面回跳方法)
- laravel 后台任务配置(在Laravel中使用GuzzleHttp调用第三方服务的API接口代码)
- laravel框架注意事项(Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决)
- laravel api 调试(laravel 实现设置时区的简单方法)
- laravel队列是如何触发的(laravel使用Faker数据填充的实现方法)
- laravel后台管理(关于laravel后台模板laravel-admin select框的使用详解)
- laravel前后端分离模块化(laravel 实现划分admin和home 模块分组)
- 关于laravel的日常(解决在laravel中auth建立时候遇到的问题)
- laravelblade界面(laravel5.1框架基础之Blade模板继承简单使用方法分析)
- laravel怎么返回指定列(laravel-admin解决表单select联动时,编辑默认没选上的问题)
- laravel消息机制(laravel框架中间件 except 和 only 的用法示例)
- laravel框架入门项目(在laravel框架中使用model层的方法)
- laravel事件返回错误数据(laravel Validator ajax返回错误信息的方法)
- laravel图文分离(Laravel 5.4前后台分离,通过不同的二级域名访问方法)
- laravel框架两表联查(Laravel 使用查询构造器配合原生sql语句查询的例子)
- laravel框架配置(Laravel框架实现多数据库连接操作详解)
- 今天要穿什么颜色(今天要穿什么颜色的衣服最吉利)
- 一道高中题-求杯子的高度(一道高中题-求杯子的高度)
- 网坛停摆三巨头亏损惨重,费德勒跌幅88 纳达少赚2400万(网坛停摆三巨头亏损惨重)
- Beyond 版本《无人深空》主线任务攻略 阿特拉斯之道(版本无人深空主线任务攻略)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
热门推荐
- 301重定向如何设置
- 安装mysql中要注意什么问题(安装Mysql时可能会遇到的一些疑难杂症)
- 前端面试题之promise的手动封装(Promise面试题详解之控制并发)
- sqlserver2016标准分区(Sql Server 2016新功能之Row-Level Security值得关注)
- 阿里云服务器攻击了怎么办(云服务器被攻击了补救措施)
- phpstudy详细教程学习(phpstudy的php版本自由修改的方法)
- css赛博朋克风格效果(CSS几步实现赛博朋克2077风格视觉效果)
- jquery使用data缓存数据
- @RenderBody、@RenderPage、@RenderSection用法
- tomcat环境配置教程(Tomcat服务器的安装配置图文教程推荐)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9