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 件のコメント:
コメントを投稿