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

public function show(Order $order){ 

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

私はlaravelに新たなんだ、私はデータをフェッチするために雄弁使用しようと、Laravel雄弁表示クエリログ

私の質問は、私のクエリを表示するにはどのような方法ですか?

は私がgetQueryLog();を試してみましたが、そのあなたが最初にそれを有効にする必要がありgetQueryLog()使用するには

+0

可能性のある重複した[どのようにLaravel 5で実行されたクエリを取得するには? DB :: getQueryLog空の配列を返す](http://stackoverflow.com/questions/27753868/how-to-get-the-query-executed-in-laravel-5-dbgetquerylog-returning-empty-arr) –

答えて

8

まず、あなたはそれはあなたが最後に実行見たいならば、あなたは、クエリログ

$queries = DB::getQueryLog(); 

を見るために、コードの下に使用することができます

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

を使用して行うことができるクエリログ を有効にする必要がありますクエリ

$last_query = end($queries); 

この詳細については、を参照してください。

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

私は試みたあなたの方法と私は[] –

+0

は、これはDBクエリのためだけですか?私は雄弁を使用しています。私はlaravelのクエリーを見たいと思っています。 –

+0

これは雄弁にも作用します。例で示した更新された答えを確認してください。 –

1

を働いていない:

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

あなたは本当のクエリを見たい場合は、あなたがLaravel Debugbarを使用することができ、それがすべての実が表示されます現在のリクエスト中に作成されたLaravelを照会します。

時には->toSql()も便利です。