laravel 中的 toSql 获取带参数的 sql 语句_weixin_33772645的博客-CSDN博客


本站和网页 https://blog.csdn.net/weixin_33772645/article/details/94330735 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

laravel 中的 toSql 获取带参数的 sql 语句_weixin_33772645的博客-CSDN博客
laravel 中的 toSql 获取带参数的 sql 语句
weixin_33772645
于 2018-06-27 10:40:00 发布
1204
收藏
文章标签:
php
数据库
原文链接:http://www.cnblogs.com/eleven24/p/9232737.html
版权
默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下:
DB::table('user')->where('id', 1)->toSql();
 获取到的 sql 语句是:
select * from `tb_user` where `id` = ?
  
有时候我们想要得到具体的语句,可以利用 builder 的 getBindings 方法:
$builder = DB::table('user')->where('id', 1);
$bindings = $builder->getBindings();
$sql = str_replace('?', '%s', $builder->toSql());
$sql = sprintf($sql, ...$bindings);
dd($sql);
 获取到的 sql 语句是:
select * from `tb_user` where `id` = 1
  
如果经常使用可以考虑使用 Builder 的 macro 方法加进 Builder 里面:
\Illuminate\Database\Query\Builder::macro('sql', function () {
$bindings = $this->getBindings();
$sql = str_replace('?', '%s', $this->toSql());
return sprintf($sql, ...$bindings);
});
dd(DB::table('user')->where('id', 1)->sql());
  
转载于:https://www.cnblogs.com/eleven24/p/9232737.html
weixin_33772645
关注
关注
点赞
收藏
评论
laravel 中的 toSql 获取带参数的 sql 语句
默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下:DB::table('user')->where('id', 1)->toSql();获取到的 sql 语句是:select * from `tb_user` where `id` = ?  有时候我们想要得到具体的语句,可以利用 builder 的 getBi...
复制链接
扫一扫
laravel 框架的tosql打印出来的sql未绑定参数,怎么可以打印带参数的sql?
lxw1844912514的博客
12-03
918
public static function getEloquentSqlWithBindings($query)
return vsprintf(str_replace('?', '%s', $query->toSql()), collect($query->getBindings())->map(function ($binding) {
return is_numeric($binding) ? $binding : "'{$bi.
Laravel查询转SQL语句
我有一个魔盒的博客
04-20
601
方法1:
// 开启执行日志
DB::enableQueryLog();
// 执行查询等数据库操作
User::all();
// 输出数据库操作相关语句、参数等信息
dd(DB::getQueryLog());
方法2:
->toSql();
// 必须是未执行完的ORM,例如不能跟在->get()后面、all()后面
User::where('id', '1')->toS...
参与评论
您还未登录,请先
登录
后发表或查看评论
Laravel中tosql()是如何返回sql
weixin_30527323的博客
06-29
723
前言
1. laravel version 5.5
2. 关键字sql解析的代码,我就不上了。有兴趣的童鞋,可以去Illuminate\Database\Query\Grammars\Grammar观望,我也就简单说下,Laravel的主体思路。
源码
首先找到tosql()方法所在的位置,Illuminate\Database\Query\Builder:
/**
...
Laravel5.* 打印出执行的sql语句
热门推荐
野蛮秘籍
05-09
2万+
打开app\Providers\AppServiceProvider.php,在boot方法中添加如下内容// 先引入DB
use DB;
// 或者直接使用 \DB::
DB::listen(function($sql, $bindings, $time) {
dump($sql);
});
Laravel5:sql语句的正确打印方式
buer2202的博客
07-19
6477
Larave5
用DB自带的getQueryLog方法直接打印:DB::connection()->enableQueryLog(); // 开启QueryLog
\App\User::find(1);
dump(DB::getQueryLog());得到的结果语句与参数是分开的,非常不方便验证[
0 => array:3 [▼
"query" => "select * from
Laravel5.6 如何打印 SQL?
北海魚博客
07-05
2507
方法一 :$sql = DB::table('my_table')->select()->tosql();此方法支持 select 语句方法二 :DB::connection()->enableQueryLog();DB::table('my_table')->insert($data);$logs = DB::getQueryLog();dd($logs);此方法支持 s...
laravel 获取完整sql 带参数
abesf的博客
02-22
4378
在laravel中我们常常需要记录执行sql以便完成日志记录和监控,laravel有几种方法可以实现,我记录在这里,供大家参考
1使用toSql
DB::table('user')->where('id', 1)->toSql();
但是获取的sql是没有绑定参数的,参数都用?代替了,我们这里使用了
利用 builder 的 getBindings 方法:
$builde...
laravel查看sql语句
leedaning的专栏
12-21
1万+
方法一:我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看 App\User::all(); 产生的 SQL 语句,我们简单在 routes.php 做个实验即可://app/Http/routes.phpRoute::get(‘/test-sql’, function() {DB::enableQueryLog();$user = App\User::all();return resp
laravel中的sql语句
stand_forever的博客
02-01
830
一.laravel中的sql语句集锦
1.插入数据
(1) DB::table('user')->insert($data);
(2)插入数据同时返回自增id
DB::table('user')->insertGetId($data);
2.修改
DB::table('user')->where('id',1)->update($data);
3.删除
DB::table...
无涯教程 - Laravel 8 获取SQL语句
最新发布
LearnFK
07-01
729
这个简单的文章演示了Laravel 8中获取上次执行的SQL语句。将使用toSql(),DB ::enableQueryLog()和DB ::getQueryLog()在laravel 8中打印最后一个SQL查询。
因此,让我们看看下面的示例,并根据需要使用它们。
示例1:
控制器代码:
<?php
namespace App\Http\Controllers;
use App\Models\User;
class UserController extends Contro
laravel sql操作
yys3155的专栏
04-28
2251
一、Selects
检索表中的所有行
复制代码 代码如下:
$users = DB::table('users')->get();
foreach ($users as $user)
var_dump($user->name);
从表检索单个行
复制代码 代码如下:
$user = DB::table('users')->where('name', 'J
laravel 打印sql
alexander_phper的博客
10-22
957
DB::enableQueryLog();
// 需要监控的sql查询代码段
// ...
$queries = DB::getQueryLog();
dd($queries);
laravel ORM 打印数据库
qq_29755359的博客
06-29
976
$model->toSql();
laravel 查看sql
weixin_30631587的博客
06-17
106
方法一:
我们有时候想测试一段代码生产的 SQL 语句,比如: 我们想看App\User::all();产生的 SQL 语句,我们简单在 routes.php 做个实验即可:
//app/Http/routes.php
Route::get('/test-sql', function() {
DB::enableQueryLog();
$user = ...
Laravel 5.3之 Query Builder 源码解析(中)
weixin_34161083的博客
12-05
57
2019独角兽企业重金招聘Python工程师标准>>>
...
laravel框架获取模型构建的sql语句
hxthon的博客
04-12
815
直接获取
获取sql的方法为->toSql(),例如最简单的使用$sql = Robot::toSql();
获取的结果select * from `robots`
可以加上限制函数的方式获取$sql = Robot::orderBy('db_order', 'desc')->toSql();
结果select * from `robots` order by `db_ord...
聊一聊laravel query builder 使用子查询
心有猛虎,细嗅蔷薇!
11-22
1万+
概述:项目当中经常用到复杂SQL带有子查询,而Laravel的查询构造器并没有直接提供转化成子查询的方法,或者说尽管提供了方法,可是给出来的例子却不太具体,对刚上手的新手来说非常不友好,本文章主要是聊一聊Laravel如何构造各种带有子查询的SQL。 准备:首先,Laravel一般实现子查询的两种方式:1、toSql()+getQuery()+raw()方法:
toSql()方法的作用是为了获取不带
laravel 中 获取带参数的sql语句
bbbzhuzhu的专栏
03-27
623
默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下:
DB::table('user')->where('id', 1)->toSql();
得到的结果是:select*from`users`where`id` = ?
如果想得到具体的sql语句
$query= DB::table('user')->where('id', 1);
...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
weixin_33772645
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
152
原创
周排名
142万+
总排名
101万+
访问
等级
6446
积分
5489
粉丝
220
获赞
16
评论
1263
收藏
私信
关注
热门文章
用虚拟机玩游戏的方法!! 开3D加速!
17574
PHP 大于、等于、小于等符号转换
12080
ASP.NET的优点
10033
abaqus6.14导出网格inp以及导入inp以建模
9941
Numpy练习题
7947
最新评论
MapReduce作业状态一直为ACCEPTED解决过程
徐……:
就是,
TextBox根据文本长度自动扩大宽度
落落1998:
乌鱼子 怎么不能表达谢意吗
MapReduce作业状态一直为ACCEPTED解决过程
weixin_41007469:
hhh
wasm + ffmpeg实现前端截取视频帧功能
❀。:
spring boot HttpMediaTypeNotSupportedException
只会CVS:
同意
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
ubuntu密码正确,却不能登录图形界面
【C#学习笔记】打开新进程
CSS 选择器分类
2019年370篇
2018年690篇
2017年926篇
2016年511篇
2015年414篇
2014年327篇
2013年344篇
2012年271篇
2011年197篇
2010年184篇
2009年114篇
2008年94篇
2007年63篇
2006年42篇
2005年22篇
2004年4篇
目录
目录
最新文章
ubuntu密码正确,却不能登录图形界面
【C#学习笔记】打开新进程
CSS 选择器分类
2019年370篇
2018年690篇
2017年926篇
2016年511篇
2015年414篇
2014年327篇
2013年344篇
2012年271篇
2011年197篇
2010年184篇
2009年114篇
2008年94篇
2007年63篇
2006年42篇
2005年22篇
2004年4篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值