Developer Snippet Diary

get last executed query (toSql) in laravel DB:

dd($users->toSql(), $users->getBindings());

OR

$users = \App\Models\User::where('name', 'like', 'a%');
$sql = $users->toSql();
echo $sql;die;

OR

DB::enableQueryLog();
//all queried here it also tell you each query responce time

            $all_business = \App\Models\Business::with(['categories'])
                ->withCount('reviews')
                ->whereNotNull('business_name')
                ->paginate(10);

dd(DB::getQueryLog());

First of all ADD use DB; at top

DB::connection()->enableQueryLog();
$favorites = DB::table('fav_items') ->paginate(10);
$query = DB::getQueryLog();
$lastQuery = end($query);
dd($lastQuery['query']);

 

OR

$sqlis = \App\Models\Users::where('email',"abc@gmail.com")->toSql();
dd($sqlis);
Posted by: R GONDAL
Email: rizikmw@gmail.com