Suggest a feature
×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: PHP
Posted by: Artur Słaboszewski
Added: Dec 18, 2020 11:39 AM
Views: 12
  1.         /**
  2.          * Execute the console command.
  3.          *
  4.          * @throws Exception
  5.          */
  6.         public function handle(): void
  7.         {
  8.                 // Add debugQueries method into console command handle method:
  9.                 $this->debugQueries();
  10.         }
  11.        
  12.         /**
  13.          * Dump DB queries
  14.          */
  15.         private function debugQueries()
  16.         {
  17.  
  18.                 // Show queries
  19.                 \DB::listen(function ($sql) {
  20.  
  21.                         try {
  22.                                 $fullQueryString = vsprintf(str_replace('?', '%s', $sql->sql), collect($sql->bindings)->map(function ($binding) {
  23.                                         return is_numeric($binding) ? $binding : "'{$binding}'";
  24.                                 })->toArray());
  25.                         } catch (Exception $ex) {
  26.                                 $fullQueryString = $ex->getMessage();
  27.                         }
  28.  
  29.                         dump([
  30.                                 'QUERY' => $sql->sql,
  31.                                 'BINDINGS' => $sql->bindings,
  32.                                 'FULL QUERY STRING' => $fullQueryString,
  33.                                 'QUERY EXECUTION TIME' => $sql->time,
  34.                                 'CONNECTION NAME' => $sql->connectionName,
  35.                         ]);
  36.  
  37.                 });
  38.         }