ハマログ

株式会社イーツー・インフォの社員ブログ

laravel5で実際に実行されたクエリを確認する

クエリビルダやEloquentを利用する際に、実際に実行されたクエリを確認したいケースがあります。
その際はDB::enableQueryLogとDB::getQueryLogを利用して、実際に実行されたクエリを確認できます。

// 求人テーブル取得
DB::enableQueryLog();
$jobs = Job::open()->has('jobcategory')->has('treatments')->orderBy('jobcategory_id')->orderBy('updated_at')->get();
dd(DB::getQueryLog());

実行されたクエリ
array:1 [
0 => array:3 [
"query" => "select * from jobs where webopentype = ? and status = ? and jobid not in (?, ?, ?, ?, ?, ?, ?, ?) and exists (select * from jobcategories where jobs.jobcategory_id = jobcategories.id) and exists (select * from treatments inner join job_treatment on treatments.id = job_treatment.treatment_id where job_treatment.job_id = jobs.id) order by jobcategory_id asc, updated_at asc"
"bindings" => array:10 [
0 => 1
1 => 3
2 => 24848
3 => 25556
4 => 25557
5 => 25558
6 => 25559
7 => 25677
8 => 25926
9 => 25927
]
"time" => 498.53
]
]

開発中に簡単に確かめることができますね(^^♪

Laravel5logsqllog

  S.I   2017年9月26日


関連記事

Laravel5.4(5.3?)のメール送信

Laravel5.0とか5.1とかあたりでは、クロージャを利用してメール送信のプ…

Laravelの勉強中

入社して1か月ちょっと経ちました。最初はgitと戦ってましたが、最近はLarav…

Invalid Argument Exception: Only mailables may be queued. in

Laravelの少し昔のプロジェクトから、今進めているLaravel5.7にメー…


← 前の投稿

次の投稿 →