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

public function show(Order $order){ 

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

मैं नए laravel में, मैं डेटा प्राप्त करने का वाक्पटु इस्तेमाल करने की कोशिश कर रहा हूँ,Laravel सुवक्ता प्रदर्शन क्वेरी लॉग ऑन

मेरे सवाल है, मेरी क्वेरी प्रदर्शित करने के लिए किसी भी तरह है?

मैं getQueryLog(); लेकिन इसके काम नहीं कर रहा

+0

संभव की डुप्लीकेट [कैसे क्वेरी Laravel 5 में मार डाला प्राप्त करने के लिए? डीबी :: getQueryLog खाली सरणी लौट रहा है] (http://stackoverflow.com/questions/27753868/how-to-get-the-query-executed-in-laravel-5-dbgetquerylog-returning-empty-arr) –

उत्तर

8

सबसे पहले आप

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

का उपयोग कर तो आप नीचे दिए गए कोड का उपयोग कर सकते क्वेरी लॉग यह किया जा सकता है सक्षम करने के लिए क्वेरी लॉग देखने के लिए

$queries = DB::getQueryLog(); 

अगर आप पिछले निष्पादित देखना चाहते हैं क्वेरी

$last_query = end($queries); 

लॉगिंग के बारे में और जानने के लिए यहदेखें

उदाहरण

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

मैंने कोशिश की आपका रास्ता और मुझे मिला [] –

+0

यह केवल डीबी क्वेरी के लिए है? मैं भाषण का उपयोग कर रहा हूं, और मैं लार्वेल की क्वेरी –

+0

देखना चाहता हूं, यह वाक्प्रचार के लिए भी काम करेगा, उदाहरण के उदाहरण में दिखाए गए अद्यतन उत्तर की जांच करें –

1

की कोशिश की getQueryLog() का उपयोग करने के लिए आपको पहले इसे सक्षम करना होगा: यह सब वास्तविक दिखाएगा आप Laravel Debugbar उपयोग कर सकते हैं,

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

आप को वास्तविक क्वेरी को देखने के लिए चाहते हैं, मौजूदा अनुरोध के दौरान लार्वेल ने प्रश्न पूछा।

कभी-कभी ->toSql() भी उपयोगी है।

संबंधित मुद्दे