对laravel in 查询的使用方法详解

今天遇到多条件搜索,其中需要用到in查询,但是laravel不支持 [ 'type', 'in', '1,2,3'] 这样的写法

经过一波百度,也没发现什么好的方法。

其中一种方法是:

$where = function ($query) {$query->whereIn('id', [1,2])->orWhere('d_id', '=', '83');}

这样确实可以解决,是一种解决方法。但我总觉得还有更好的方法,找到了 DB::Raw();

开始我是这样用的

但是这样总会在sql后面出现is null,感觉很奇怪,于是看了下laravel源码

默认我们需要传递三个参数,如:

如果只传一个参数的话,就会出现is null 的情况

所以只需要

这样就可以完美解决,如果有更好的方法 欢迎大家评论。

以上这篇对laravel in 查询的使用方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-10-08

laravel多条件查询方法(and,or嵌套查询)

说明 在日常开发中,经常会需要写多条件的数据库查询语句.在使用框架的情况下,单纯使用原生sql查询会导致结果与model无法对应,也就没有办法使用框架的一些便利的方法对结果集进行处理.尤其是laravel提供了非常多的对查询结果集进行处理的工具.所以最好是使用laravel提供的ORM进行多条件的数据库查询. 问题 比如需要执行这样一条sql语句 select * from homework where (id between 1 and 10 or id between 50 and 70)

Laravel模糊查询区分大小写的实例

Laravel的ORM特殊操作! 举个例子:我们数据库设计的编码方式如果是ci,也就是说大小写不敏感的话,我们搜索的时候,搜索test,那么结果是Test,test,teST等等都出来,但是我们加上like binary的话,那么搜索出来的就是test,不管你的mysql数据库是什么编码排序规则. #passthru: array:10 [▼ 0 => "insert" 1 => "insertGetId" 2 => "getBindin

PHP模糊查询技术实例分析【附源码下载】

本文实例讲述了PHP模糊查询技术.分享给大家供大家参考,具体如下: 简介 从本质上揭密PHP模糊查询技术 功能 根据输入的关键字查找相关用户 PHP用户查询器案例分析 课程目标 掌握PHP模糊技术的应用 课程重点 PHP模糊查询的语法 PHP模糊查询的应用 课程案例(效果图) 数据库设计 用户表(user): CREATE TABLE user( `uid` int(10) AUTO_INCREMENT PRIMARY KEY COMMENT '用户ID', `username` varchar

thinkphp实现like模糊查询实例

本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考.具体实现方法如下: 目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明. 这里主要通过举例来说明用法: ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全. 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高, 例如: 复制代码 代码

Python模糊查询本地文件夹去除文件后缀的实例(7行代码)

7行代码实现的,废话不多说,直接上代码: import os,re def fuzzy_search(path): word= input('请输入要查询的内容:') for filename in os.listdir(path): #遍历指定文件夹 re_filename = re.findall('.\w+', str(filename)) #去除文件后缀名 if word in re_filename[0]: print(re_filename[0]) 以上这篇Python模糊查询本地文

laravel按天、按小时,查询数据的实例

使用laravel做后台数据统计的时候,需要查询每天的注册量之类的数据 这时候如果直接用created_at分组,是不好用的. 1.所以本文解决这个查询应该怎么写. 2.并且推荐一个时间选择插件,因为统计中一定会用到,本周数据.本月.本季度.上个月.... 按天分组数据: Event::where('created_at','>',Carbon::parse($request->start_date)) ->where('created_at','<',Carbon::parse(

Laravel使用模型实现like模糊查询的例子

使用模型实现数据的增删改查的好处真的很多,比简单的DB类实现要安全的多 ,强烈建议使用 其它操作文档里有,就不说了,说一个一般大神不会用的,like模糊查询. 下面这段代码是通过URL来查询的,通过表单提交实现查询的话,自个儿琢磨 public function search(Request $request){ $echostr=$request->input("search"); $msg=Search::where('title',$echostr)->orWhere

js模糊查询实例分享

首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例子没有接触到后台数据的知识,只是查询当前表格中每一行所包含的关键字. 用到的方法为:string.indexOf(''); 找出字符串中某个字符的位置,而如果没有目标字符会返回-1. 实现代码: <meta charset="UTF-8"> <title></

java留言管理系统中模糊查询实例分享

本文分享了一个基于MVC+DAO的留言管理系统,包含增删改查,其中查询,有全部查询和按关键字进行模糊查询的功能,具体内容如下 NoteDAO.Java package cn.mldn.lxh.note.dao ; import java.util.* ; import cn.mldn.lxh.note.vo.* ; public interface NoteDAO { // 增加操作 public void insert(Note note) throws Exception ; // 修改操作

在php7中MongoDB实现模糊查询的方法详解

前言 在实际开发中, 有不少的场景需要使用到模糊查询, MongoDB shell 模糊查询很简单: db.collection.find({'_id': /^5101/}) 上面这句就是查询_id以'5101'开始的内容. 在老的MogoDB中模糊查询挺简单的,这里简单记录下模糊查询的操作方式: 命令行下: db.letv_logs.find({"ctime":/uname?/i}); php操作 $query=array("name"=>new Mongo

Java操作MongoDB模糊查询和分页查询

本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下 模糊查询条件: 1.完全匹配 Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE); 2.右匹配 Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSITIVE); 3.左匹配 Pattern pattern =