2015-01-17 7 views
5

Ho cercato di capire un modo per registrare le query SQL da Eloquente ORM che sto usando all'interno di Zend Framework 1. Mi sono imbattuto in getQueryLog metodo() chiamato in questo modo:Come usare eQueryLog() di ORM di Eloquent al di fuori di Laravel?

$queries = DB::getQueryLog(); 

ho trovato illuminare \ Database \ Collegamento per contenere il getQueryLog() metodo in modo ho cercato di fare quanto segue:

use Illuminate\Database\Connection as DB; 

class IndexController 
{ 
    . 
    . 
    . 
    public function indexAction() 
    { 
     // do stuff (e.g. fetch/update/create rows) 
     $questions = Questions::all() 
     . 
     . 
     $queries = DB::getQueryLog(); 
     var_dump($queries); exit; 
     . 
     // render view 
    } 
} 

Tuttavia, ricevo il seguente avviso, e restituisce un valore nullo: Notice: Undefined property: IndexController::$queryLog in /var/www/qasystem/vendor/illuminate/database/Illuminate/Database/Connection.php on line 918 NULL

qualcuno può suggerire h Posso usarlo al di fuori di Laravel? Ho cercato online e non riesco a vedere nulla che ho bisogno di fare in modo diverso, anche se sospetto che la maggior parte degli esempi verranno utilizzati all'interno di Laravel. Inoltre, Illuminate \ Database \ Connection è la classe corretta? Grazie

+0

Fa questo lavoro 'Capsule :: getQueryLog()'? – lukasgeiter

+0

Quale versione di laravel stai usando? –

+0

'Capsule :: getQueryLog()' non funziona. Non sto usando Laravel, sto usando Eloquent all'interno di Zend Framework (1). – Martyn

risposta

Problemi correlati