LaravelでSQLをログに出力したい時ありますよね。
そんな時はこんな感じで書きます。
DB::enableQueryLog();
$table1 = DB::table('table1')->where('id', $no)->first();
// $results = DB::select('select * from table1 where id = ?', [1]);
logger()->debug(DB::getQueryLog());
storage/logs/laravel.logに以下のように出力されています。
[2017-07-12 03:01:50] local.DEBUG: array (
0 =>
array (
'query' => '
select
*
from
table1
where
value like \'%\' || \'?\' || \'%\';',
'bindings' =>
array (
0 => '1',
),
'time' => 1,
),
)
ちなみにdebugログ出すためにconfig/app.phpの下記の部分を変更する必要があります。
'log_level' => env('APP_LOG_LEVEL', 'debug')
0 件のコメント:
コメントを投稿