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 find in set排序实例)
- phplaravel快速开发平台(laravel框架实现去掉URL中index.php的方法)
- laravel框架学习心得教程(Laravel5.7 Eloquent ORM快速入门详解)
- laravel关于视图使用语法(在laravel中使用with实现动态添加where条件)
- laravel查询限制输出设置(laravel validate 设置为中文的例子验证提示为中文)
- laravel完成权限验证(laravel实现Auth认证,登录、注册后的页面回跳方法)
- laravel自定义使用方法(Laravel使用Queue队列的技巧汇总)
- laravel数据表配置(laravel实现按月或天或小时统计mysql数据的方法)
- laravel有哪些长期支持版本(Laravel中9个不经常用的小技巧汇总)
- laravel循环插入数据(Laravel 实现关系模型取出需要的字段)
- laravel5开发规范(laravel5.1框架基础之路由详解)
- laravel使用队列(基于laravel where的高级使用方法)
- laravel使用教程(基于Laravel5.4版本的基本增删改查操作方法)
- laravel设置读写权限(解决laravel上传图片之后,目录有图片,但是访问不到404的问题)
- laravel获取访问来路的函数(Laravel实现搜索的时候分页并携带参数)
- laravel框架的高级知识点(laravel配置Redis多个库的实现方法)
- 九月初,爱如蜜糖,甜到心扉,迷恋彼此,一日不见兮,思之若狂(九月初爱如蜜糖)
- ()
- 对你思念入骨的女人,跟你见面时会有这几种表现,藏都藏不住(对你思念入骨的女人)
- 纳兰性德绝美作,一场重逢,成就最后一首称得上惊艳的《如梦令》(纳兰性德绝美作)
- 如何快速赚钱(如何快速赚钱方法真实有效)
- 这里输入关键词(如何输入关键词)
热门推荐
- 云主机功能描述(云主机有哪些使用优势?)
- 云服务器无法操作(云服务器登录连接失败解决方案)
- 移动端字号规范(吃透移动端 1px的具体用法)
- php建造者模式实例(PHP工厂模式、单例模式与注册树模式实例详解)
- sql触发器编写教程(SQL Server 使用触发器trigger发送电子邮件步骤详解)
- python菜单栏中常用的菜单(Python3实现的简单三级菜单功能示例)
- 租用云服务器注意什么(租用美国云服务器应该注意什么?)
- php框架laravel使用(laravel5环境隐藏index.php后缀apache的方法)
- 欧洲云服务器和VPS有哪些区别?(欧洲云服务器和VPS有哪些区别?)
- 阿里云ecs 获取公网ip(阿里云ECS云服务器未添加安全组规则设置导致通过公网IP地址不能访问)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9