laravel 获取某个查询的查询SQL语句方法
如下所示:
DB::connection()->enableQueryLog();#开启执行日志 $count = DB::table('test') //执行查询 ->whereNull('deleted_at') ->where('id', '=', 3) ->where('Name', '=', '测试') ->count(); print_r(DB::getQueryLog()); //获取查询语句、参数和执行时间
Array ( [0] => Array ( [query] => select count(*) as aggregate from `test` where `deleted_at` is null and `id` = ? and `Name` = ? [bindings] => Array ( [0] => 3 [1] => 测试 ) [time] => 1 ) )
以上这篇laravel 获取某个查询的查询SQL语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
laravel实现查询最后执行的一条sql语句的方法
代码: DB::connection()->enableQueryLog(); $query = DB::table('test')->orderBy('id', 'desc')->get();//需要执行的SQL语句 echo '<pre>'; print_r(DB::getQueryLog()); 执行结果为: Array ( [0] => Array ( [query] => select count(*) as aggregate from `sj_rea
-
Laravel监听数据库访问,打印SQL的例子
增加一个helper函数 if ( ! function_exists('sql_dump')) { function sql_dump() { \DB::listen(function ($sql) { $i = 0; $bindings = $sql->bindings; $rawSql = preg_replace_callback('/\?/', function ($matches) use ($bindings, &$i) { $item = isset($bindings[$i
-
实现laravel 插入操作日志到数据库的方法
1 . 创建一个中间件 执行: php artisan make:middleware OperationLog 2 . 在中间件中编写一个writeLog() 或者直接写在handle里面 <?php namespace App\Http\Middleware; use App\User; use Closure; use Illuminate\Support\Facades\Auth; class OperationLog { /** * Handle an incoming request
-
Laravel获取所有的数据库表及结构的方法
遇到一个需求,需要修改数据库中所有包含email的字段的表,要把里面的长度改为128位.Laravel获取所有的表,然后循环判断表里面有没有email这个字段. 代码如下: use Illuminate\Support\Facades\Schema; use DB; public function getDatabaseColumns() { $tables = DB::select('show tables'); $tables = array_column($tables, 'Tables_
-
Laravel使用原生sql语句并调用的方法
有一些sql语句比较复杂,用构造器还不如直接用sql来的方便,我们在laravel中使用原生语句,首先要在开头use DB,然后: $arr = DB::select("select id,sum(parents+1) as total_people from orders where game_id=6 and pay_status=1 and hotel_id=5"); 接下来,我们程序里怎么获取到查询到的值呢? 查询到的是一个数组,但是里面的内容属于对象,我们要这么调用: $ar
-
查找MySQL中查询慢的SQL语句方法
如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志文件,通过查看这个日志文件定位效率较低的SQL .下面介绍MySQL中如何查询慢的SQL语句 一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log 这
-
laravel 获取某个查询的查询SQL语句方法
如下所示: DB::connection()->enableQueryLog();#开启执行日志 $count = DB::table('test') //执行查询 ->whereNull('deleted_at') ->where('id', '=', 3) ->where('Name', '=', '测试') ->count(); print_r(DB::getQueryLog()); //获取查询语句.参数和执行时间 Array ( [0] => Array (
-
Mybatis模糊查询和动态sql语句的用法
Mybatis 模糊查询和动态sql语句 模糊查询 对数据库最常用的操作就是查询了,但是如何使用Mybatis进行模糊查询呢?下面先看一个简单的模糊查询 <select id="select01" resultMap="BasicResultMap"> SELECT * FROM oa_employee WHERE emp_name LIKE #{asd} </select> 这是一条伪模糊查询, 因为没有实现真正的模糊 "%&qu
-
Laravel框架实现利用监听器进行sql语句记录功能
本文实例讲述了Laravel框架实现利用监听器进行sql语句记录功能.分享给大家供大家参考,具体如下: 利用监听器进行sql语句记录 1.监听sql语句的事件类已经定义,直接创建监听器类即可: # 监听sql make:listener QueryListener --event=Illuminate\Database\Events\QueryExecuted 2.监听器类代码 ./app/Listeners/QueryListener.php <?php namespace App\Liste
-
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
本文实例讲述了ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作.分享给大家供大家参考,具体如下: ThinkPHP中获取最后一次执行sql语句的 方法有两种: 其一是 调用模型 获取 如: $sql = $model ->getLastSql(); Thinkphp中Model类,有getLastSql这个函数,甚至还有,getLastInsID,getDbError,getError,getPk,getDbFields等函数.这些函数都是我们经常可能会用到的model层的函数.
-
Django shell调试models输出的SQL语句方法
在settings.py里,配置如下logging: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True,
-
基于JPQL实现纯SQL语句方法详解
JPQL全称Java Persistence Query Language. 基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL. 其特征与原生SQL语句类似,并且完全面向对象,通过类名和属性访问,而不是表名和表的属性. 使用JPQL,需要把SQL语句修改成类似HQL 语句.SQL
-
MySQL开启记录执行过的SQL语句方法
概述 很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等.只要有 SQL 语句的记录,就能知道情况并作出对策.服务器是可以开启 MySQL 的 SQL 语句记录功能,从而就能间接地检测到客户端程序的行为. 方法 开启方法很简单:编辑/etc/my.cnf文件,在[mysqld]节下面添加:log=/var/lib/mysql/sql_row.log行(日志的路径自己根据需要定义). 复制代码 代码如下: [mysqld] datad
-
使用SQL语句实现查询排序,顺序和倒序
目录 SQL语句查询排序,顺序和倒序 SQL查询结果排序 SQL语句查询排序,顺序和倒序 SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC #ASC升序,DESC倒序 SQL查询结果排序 1.以指定顺序返回查询结果(order by的asc为升序,desc为降序) select ename,job,sal from emp where deptno = 10 order by sal as
-
在mybatis执行SQL语句之前进行拦击处理实例
比较适用于在分页时候进行拦截.对分页的SQL语句通过封装处理,处理成不同的分页sql. 实用性比较强. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Properties; import org.apache.ibatis.e
随机推荐
- 使用Ajax时处理用户session失效问题的解决方法
- 深入解析Java接口(interface)的使用
- javascript之循环停顿上下滚动
- javascript attachEvent和addEventListener使用方法
- Asp.net下使用Jquery Ajax传送和接收DataTable的代码
- Jquery 获得服务器控件值的方法小结
- Python下实现的RSA加密/解密及签名/验证功能示例
- 浅析ASP.NET安全性分析(加强asp.net 1.1/2.0安全性)
- JS之Date对象和获取系统当前时间详解
- CentOS 7如何快速开放端口
- Android实现手机壁纸改变的方法
- Javascript中对象继承的实现小例
- 基于PHP生成静态页的实现方法
- 详解Android中实现热更新的原理
- Android编程之include文件的使用方法
- 免费空间 免费提供的原因
- AngularJS中controller控制器继承的使用方法
- php中访问修饰符的知识点总结
- 20道JS原理题助你面试一臂之力(必看)
- go grpc安装使用教程