laravel列印查詢sql
阿新 • • 發佈:2021-08-23
方法一(此方法支援 select 語句,insert,delect,update不支援) :
$sql = DB::table('my_table')->select()->tosql();
方法二(此方法支援 select 語句,insert,delect,update不支援) :
複製程式碼DB::connection()->enableQueryLog(); // 開啟查詢日誌 DB::table('my_table')->insert($data); // 要檢視的sql語句執行 $logs = DB::getQueryLog(); // 獲取查詢日誌 dd($logs); // 即可檢視執行的sql,傳入的引數等等
方法三(此方法支援select,insert, update, delete):
// 在需要列印SQL的語句前新增監聽事件。 DB::listen(function($query) { $bindings = $query->bindings; $sql = $query->sql; foreach ($bindings as $replace){ $value = is_numeric($replace) ? $replace : "'".$replace."'"; $sql = preg_replace('/\?/', $value, $sql, 1); } dd($sql); }); // 要列印SQL的語句 $res = DB::table('my_table')->insert($data);
方法四:故意打錯誤SQL檢視報錯資訊,簡單直接。。。。