Laravel打印Eloquent生成的完整SQL

作者: 吴杰 分类: 编程 发布时间: 2024-12-06 09:39

开发调试中,经常需要查看Eloquent生成的SQL语句,以便排查错误,具体做法如下:

引入:use Illuminate\Support\Facades\DB;

DB::connection()->enableQueryLog(); // 开启QueryLog

$workLogs = WorkLog::where(function ($query) use ($request) {
    if ($request->has('keyword')) {
        $query->where('content', 'like', "%{$request->keyword}%");
    }
    if ($request->has('department_id')) {
        $query->with('user', function($userQuery) {
            $userQuery->where('department_id', $request->department_id);
        });
    }
})->orderByDesc('created_at')->paginate();

dd(DB::getQueryLog());