這個簡單的文章演示了Laravel 8中獲取上次執行的SQL語句。將使用toSql(),DB ::enableQueryLog()和DB ::getQueryLog()在laravel 8中打印最後一個SQL查詢。
因此,讓我們看看下面的示例,並根據需要使用它們。
示例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`
示例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
]
]
示例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
]
https://www.learnfk.com/article-how-to-get-last-executed-query-in-laravel-8example