DBでのデータ検索時、更新時のクエリ確認方法を記載します。
まず、DBでのデータ検索時のクエリの確認方法です。
// 検索系のログ確認
DB::enableQueryLog();
$sample = SampleTable::where('name', 'テスト555')->get();
var_dump(DB::getQueryLog());
----実際には↓のように出力されます。----
array(1) {
[0]=>
array(3) {
["query"]=>
string(46) "select * from `sample_tables` where `name` = ?"
["bindings"]=>
array(1) {
[0]=>
string(12) "テスト555"
}
["time"]=>
float(4.73)
}
}
実際に検索する前に、「DB::enableQueryLog」を実行後、検索後に「DB::getQueryLog」を実行することによって、検索時のクエリが確認できます。
次に、更新時のクエリ確認です。
// 更新系のログ確認
$sqls = DB::pretend(function() {
SampleTable::where('name', 'テスト555')->update(['address' => 'Testing address']);
});
var_dump($sqls);
----実際には↓のように出力されます。----
array(1) {
[0]=>
array(3) {
["query"]=>
string(57) "update `sample_tables` set `address` = ? where `name` = ?"
["bindings"]=>
array(2) {
[0]=>
string(15) "Testing address"
[1]=>
string(12) "テスト555"
}
["time"]=>
float(0)
}
}
「DB::pretend」の戻り値を確認することによって、更新時のクエリが確認できます。