laravel 输出最后执行sql 附:whereIn的使用方法
在sql语句执行前
DB::enableQueryLog();
sql sql sql sql sql
dd(DB::getQueryLog());
DB::enableQueryLog(); $data = UsersMenu::select('users_menu.*') ->join('users as a','a.id','=','users_menu.user_id') ->where('a.id', $user_id)->get(); // dd($data); // DB::connection()->enableQueryLog(); // $data = DB::query('select * from users_menu,users where users.id = users_menu.user_id'); dd(DB::getQueryLog());
附:whereIn 后面跟的参数必须是数组
普通sql语句:SELECT users_menu . *
FROM users_menu
INNER JOIN users AS a ON a.id = users_menu.user_id
WHERE a.id
IN ( 1, 2 )
$data = UsersMenu::select('users_menu.*') ->join('users as a','a.id','=','users_menu.user_id') ->whereIn('a.id', $user_id);
此时的$user_id 是个数组才行
以上这篇laravel 输出最后执行sql 附:whereIn的使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
对laravel in 查询的使用方法详解
今天遇到多条件搜索,其中需要用到in查询,但是laravel不支持 [ 'type', 'in', '1,2,3'] 这样的写法 经过一波百度,也没发现什么好的方法. 其中一种方法是: $where = function ($query) {$query->whereIn('id', [1,2])->orWhere('d_id', '=', '83');} 这样确实可以解决,是一种解决方法.但我总觉得还有更好的方法,找到了 DB::Raw(); 开始我是这样用的 但是这样总会在sql后面出现i
-
Laravel Eloquent ORM 多条件查询的例子
一.需求: 在数据搜索时最常见的就是调用同一个方法查询,而查询的字段却可能是其中一个或其中的几个字段一起组合查询,例如:对列表的搜索,基本上都是几个字段随意组合搜索.那么在model里就需要判断有那个字段组合,怎么组合. 网上找了很久,Laravel群里也问了几个,都说没有写过,于是自己写个吧.话不多说,见代码: function findByParam($param = array()) { $select = new Customer(); if (isset($param['name'])
-
Laravel关系模型指定条件查询方法
对于关系模型来说,有时候我们需要甄别关联后结果,例如,班级和学生是一对多关联,我现在查询班级,但是想只显示正常状态,即状态为1的学生,因为有的学生从这个班级里面删除了,状态是4,那么我们在查询的时候就可以使用如下语法: 1.定义关联关系: Class模型: public function learners() { return $this->belongsToMany('App\Models\Customer', 'learner_relation', 'class_id', 'learner_
-
laravel 模型查询按照whereIn排序的示例
实例如下所示: $ids = [5,7,3,1,2]; $data = Content::whereIn('id',$ids) ->select('id') ->get(); //查询结果是想按照wherein的顺序排序 //正确写法 $data = Content::whereIn('id',$ids) ->select('id') // ->orderBy(\DB::raw('FIND_IN_SET(id, "' . implode(",", $i
-
基于laravel where的高级使用方法
Laravel作为一个人见人爱的框架,相信很多人在使用,那就避免不了对Sql语句的应用,很多情况下,在多种字段作为条件查询使用where的时候,不需要复杂的原生语句, 使用一个闭包,就能达到你想要的效果. 以上这篇基于laravel where的高级使用方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
laravel 输出最后执行sql 附:whereIn的使用方法
在sql语句执行前 DB::enableQueryLog(); sql sql sql sql sql dd(DB::getQueryLog()); DB::enableQueryLog(); $data = UsersMenu::select('users_menu.*') ->join('users as a','a.id','=','users_menu.user_id') ->where('a.id', $user_id)->get(); // dd($data); // DB:
-
PHP获取MySQL执行sql语句的查询时间方法
如下所示: //计时开始 runtime(); //执行查询 mysql_query($sql); //计时结束. echo runtime(1); //计时函数 function runtime($mode=0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); list($m0,$s0) = explode(" ",$t); list($m1,$s1) = explode("
-
mysql命令行下执行sql文件的几种方法
目录 第一种方法:未连接mysql数据库时 第二方法:在已经连接数据库的情况下,此时命令提示符为mysql>, 用MySQL的source命令导入SQL文件实战记录 达到目的:通过命令行的方式,将tsinfo180516.sql文件导入到数据库demo1中. 效果图 第一种方法:未连接mysql数据库时 在mysql命令行下执行sql文件 运行--cmd C:\Users\lenovo>mysql -u账号 -p密码 -D数据库名 < sql文件绝对路径 C:\Users\lenovo&
-
SpringBoot启动执行sql脚本的3种方法实例
目录 背景 配置application.yml文件 自定义DataSourceInitializer Bean 启动时执行方法 Springboot自动执行sql文件 总结 背景 项目里后端需要计算坐标距离,想用sql实现算法,然后通过执行一个sql脚本,创建一个函数供各业务调用.我们需要在springboot项目启动时执行sql脚本,在网上一顿搜索,总结了有三种做法: 配置application.yml文件 自定义DataSourceInitializer Bean 启动时执行方法 第一种做法
-
Entity Framework Core中执行SQL语句和存储过程的方法介绍
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public class Category { public int CategoryID { get; set; } public string CategoryName { get; set; } } 在Category定义了两个字段:CategoryID.CategoryName. public class Sam
-
Laravel中如何轻松容易的输出完整的SQL语句
前言 laravel 中自带的查询构建方法 toSql 得到的 sql 语句并未绑定条件参数,类似于这样 select * fromuserswhereid= ? ,所以写了个扩展包 laravel-dump-sql,可以获取完整的 sql 语句. 源码 laravel-dump-sql - github.com/guanguans/l- 安装 $ composer require guanguans/laravel-dump-sql -v 发布服务 $ php artisan vendor:p
-
Yii框架在页面输出执行sql语句以方便调试的实现方法
本文实例讲述了Yii框架在页面输出执行sql语句以方便调试的实现方法.分享给大家供大家参考.具体分析如下: 我们使用:yiidebugtb来调试(因为用他界面比较美观,不影响界面其他元素). 1.下载yiidebugtb,并且放入到 application.extensions.yiidebugtb 目录 2.修改main.php,加入如下代码: 复制代码 代码如下: 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array
-
C#实现连接SQL Server2012数据库并执行SQL语句的方法
本文实例讲述了C#实现连接SQL Server2012数据库并执行SQL语句的方法.分享给大家供大家参考,具体如下: 开发工具:Visual Studio 2012 数据库: SQL Server 2012 使用Visual Studio时还是直接和微软自家的SQL Server数据库连接比较方便,就像使用Eclipse时和MySQL连接便捷一样的道理 无论使用什么工具步骤都一样: 1. 首先保证相关工具都已经正确安装了 2. 开启数据库连接服务 3. 在开发工具中通过用户名和口令与数据库进行关
-
使用BAT批处理执行sql语句的代码
1.把待执行Sql保存在一个文件,这里为20110224.sql.2.新建一个扩展名.bat的批处理文件,输入下面命令并保存后,双击.bat文件,系统会自动执行20110224.sql的语句: 复制代码 代码如下: osql -S gdjlc -d TestDB -U sa -P 1 -i 20110224.sql osql参数见下面=======================================================================: E:\>osql
-
.Net core下直接执行SQL语句并生成DataTable的实现方法
.net core可以执行SQL语句,但是只能生成强类型的返回结果.例如var blogs = context.Blogs.FromSql("SELECT * FROM dbo.Blogs").ToList().而不允许返回DataSet.DataTable等弱类型.可能由于这个原因没有实现在.net core中DataTable,然而DataTable还是可能会用到的.我们这里就有一个数据仓库的需求,允许用户自行编写类似SQL语句,然后执行,以表格展示.因为语句是千变万化的,因此我也
随机推荐
- asp.net core MVC 过滤器之ActionFilter过滤器(2)
- Sql Server2012 使用IP地址登录服务器的配置图文教程
- PowerDesigner15.1连接oracle11g逆向生成ER图
- WIN7下ORACLE10g服务端和客户端的安装图文教程
- Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
- js中Number数字数值运算后值不对的解决方法
- 使用java生成字母验证码
- SpringMVC接收多个对象的4种方法
- asp.net 图片超过指定大小后等比例压缩图片的方法
- php.ini修改php上传文件大小限制的方法详解
- JavaScript中style.left与offsetLeft的使用及区别详解
- MySQL批量SQL插入性能优化详解
- DEDECMS 重置管理员admin的密码的php文件
- Python 登录网站详解及实例
- Eclipse对printf()不能输出到控制台的快速解决方法
- 详解jQuery中ajax.load()方法
- Win2003的服务器修改默认上传200k和下载4M的限制
- Linux下查看进程打开的文件句柄数和如何修改方法
- JS判断、校验MAC地址的2个实例
- 教你怎样成为百度搜索的第一