ハマログ

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

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   S.I   2017年9月26日


関連記事

Laravel ExcelでCSV出力したらSJISで出せなかったので自分で書きました

佐川急便か何かのシステムと連携するために、Shift_JISで出力したCSVを作…

LaravelのEloquent,Query Builderで値をランダムソートする

検証環境 PHP5.6 Laravel5.3 Laravel5.2からEloqu…

Laravel5.6のUUID Methodsについて

はじめに Laravel5.6で、UUIDを生成するメソッドが実装されました (…


← 前の投稿

次の投稿 →