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

]

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

技术教程推荐

从0开始学微服务 -〔胡忠想〕

Swift核心技术与实战 -〔张杰〕

移动端自动化测试实战 -〔思寒〕

OAuth 2.0实战课 -〔王新栋〕

Selenium自动化测试实战 -〔郭宏志〕

Linux内核技术实战课 -〔邵亚方〕

爱上跑步 -〔钱亮〕

Go 语言项目开发实战 -〔孔令飞〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

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