Laravel 8 - 获取SQL语句

Laravel 8 - 获取SQL语句 首页 / Laravel8入门教程 / Laravel 8 - 获取SQL语句

这个教程简单的演示了Laravel 8中获取上次执行的SQL语句。将使用toSql(),DB ::enableQueryLog()和DB ::getQueryLog()在laravel 8中打印最后一个SQL查询。

因此,让无涯教程看看下面的示例,并根据需要使用它们。

toSQL示例1:

控制器代码:

<?php

namespace App\Http\Controllers;

use App\Models\User;

class UserController extends Controller

{

/**

* Create a new controller instance.

*

* @return void

*/

public function redirectToGoogle()

{

$query = User::select("*")->toSql();

dd($query);

}

}

输出:

select * from `users`

DB:enableQueryLog示例2:

控制器代码:

<?php

namespace App\Http\Controllers;

use App\Models\User;

use DB;

class UserController extends Controller

{

/**

* Create a new controller instance.

*

* @return void

*/

public function redirectToGoogle()

{

DB::enableQueryLog();

$users = User::select("*")->get();

$quries = DB::getQueryLog();

dd($quries);

}

}

输出:

array:1 [▼

0 => array:3 [▼

"query" => "select * from `users`"

"bindings" => []

"time" => 4.25

]

]

DB::getQueryLog示例3:

控制器代码:

<?php

namespace App\Http\Controllers;

use App\Models\User;

use DB;

class UserController extends Controller

{

/**

* Create a new controller instance.

*

* @return void

*/

public function redirectToGoogle()

{

DB::enableQueryLog();

$users = User::select("*")->get();

$query = DB::getQueryLog();

$query = end($query);

dd($query);

}

}

输出:

array:3 [▼

"query" => "select * from `users`"

"bindings" => []

"time" => 2.07

]

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Kafka核心技术与实战 -〔胡夕〕

.NET Core开发实战 -〔肖伟宇〕

微信小程序全栈开发实战 -〔李艺〕

深度学习推荐系统实战 -〔王喆〕

Python自动化办公实战课 -〔尹会生〕

陈天 · Rust 编程第一课 -〔陈天〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

运维监控系统实战笔记 -〔秦晓辉〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)