2016-12-14 18 views
5
use App\Order; 

public function show(Order $order){ 

     $data = $order->all(); 
     return dd($order->getQueryLog()); 

Jestem nowy w laravel, staram się używać wymowny aby pobrać dane,laravel Eloquent zapytania wyświetlacz zalogować

moje pytanie, jest jakiś sposób, aby wyświetlić moje zapytanie?

Próbowałem getQueryLog(); ale jej nie działa

+0

Możliwy duplikat [Jak uzyskać kwerendy wykonywane w laravel 5? DB :: getQueryLog zwraca pustą tablicę] (http://stackoverflow.com/questions/27753868/how-to-get-the-query-executed-in-laravel-5-dbgetquerylog-returning-empty-arr) –

Odpowiedz

8

Najpierw trzeba włączyć dziennik kwerend można to zrobić za pomocą

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

wtedy można skorzystać z poniższego kodu, aby zobaczyć dziennik kwerend

$queries = DB::getQueryLog(); 

jeśli chcesz zobaczyć ostatni wykonany zapytanie

$last_query = end($queries); 

aby dowiedzieć się więcej o logowaniu zobacz: https://laravel.com/docs/5.0/database#query-logging

Przykład

public function show(Order $order){ 
     \DB::connection()->enableQueryLog(); 
     $data = $order->all(); 
     $queries = \DB::getQueryLog(); 
     return dd($queries); 
} 
+0

próbowałem na swój sposób i mam [] –

+0

jest to tylko dla zapytania DB? Używam wymowy i chcę zobaczyć zapytanie laravel: –

+0

będzie działać również dla wymownego, sprawdź zaktualizowaną odpowiedź, którą pokazałem w przykładzie –

1

Aby korzystać getQueryLog() trzeba ją włączyć pierwszy:

DB::enableQueryLog(); 
DB::getQueryLog(); 

Jeśli chcesz zobaczyć prawdziwe zapytań, można użyć Laravel Debugbar, pokaże wszystkim realne zapytania tworzone przez Laravel podczas bieżącego żądania.

Przydaje się także ->toSql().