2016-01-03 15 views
5

Io uso:Come visualizzare l'ultima query in laravel 5?

DB::connection()->enableQueryLog(); 
var_dump(DB::getQueryLog()); 

Ma non funziona.

Il mio servizio è come questo:

public function dataCustomerList($param) 
    { 
     $status = $param['status_sort']; 
     $gender = $param['gender']; 
     $published = $param['published']; 

     if($published=='NO'){ 
      $published_check = 'NO'; 
      $published = 0; 
     } 
     else if($published=='YES'){ 
      $published_check = 'YES'; 
      $published = 1; 
     } 
DB::connection()->enableQueryLog(); 
     $customer = customer::paginate(10); 

     if(!empty($status)) { 
      // die($status); 
      $customer = customer::where('tb_customer.customer_status', '=', $status)->paginate(10); 
     } 

     if (!empty($gender)) { 
      $customer = customer::where('tb_customer.gender', '=', $gender)->paginate(10); 
     } 

     if (!empty($published_check)) { 
      $customer = customer::where('tb_customer.published', '=', $published)->paginate(10); 
     } 
     var_dump(DB::getQueryLog()); 
     return $customer; 


    } 

quando l'eseguo, la query non sembra

Il risultato è simile a questo:

array(0) { 
} 

come ottenere la query eseguite in Laravel 5?

La ringrazio molto

+0

Hai provato laravel DebugBar? Può mostrarti tutte le domande eseguite in una richiesta (con suggerimenti di tempo e miglioramento): https://github.com/barryvdh/laravel-debugbar –

risposta

3

Si potrebbe ascoltare query events on DB:

DB::listen(function($sql, $bindings, $time) { 
    var_dump($sql); 
}); 
+0

Grazie mille. Sta funzionando –