2014-01-13 2 views
0

Думая о переходе к использованию Laravel с Красноречивым, но я знаю, что с учетом нашего сайта в конце концов нам нужно спросить: «Так какой же исходный SQL-запрос является« Красноречивым »? поэтому мы можем устранить этот запрос, чтобы узнать, что пошло не так ... и я не вижу эту информацию в документах.Как я могу выяснить, что делает запрос красноречивым?

Итак, как бы мы подтянули запрос, который генерировал Красноречивый?

+0

Возможно, обратитесь к этому вопросу? http://stackoverflow.com/questions/19131731/laravel-4-logging-sql-queries –

ответ

1

быстрый способ, чтобы добавить это к вашему маршруту, действия контроллера или даже приложения/запуска/global.php:

DB::listen(function($sql, $bindings, $time) { 
    Log::info($sql); 
}); 

Это журнал, поэтому вы можете

php artisan tail 

Чтобы увидеть ваши запросы.

Если вам необходимо войти только один запрос прямо на странице это почти то же самое, вы просто положить его в том месте, запрос выполняется:

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

Posts::where('title', 'My First Post')->get(); 

die; 

И это эхо его на странице.

Вы также можете использовать расширение Clockwork Chrome (https://chrome.google.com/webstore/detail/clockwork/dmggabnehkmmfmdffgajcflpdjlnoemp?hl=en), это пакет PHP, который будет установлен на Laravel: https://github.com/itsgoingd/clockwork.

Заводной механизм дает вам действительно хороший профилирующий вид вашего приложения.

+0

Но есть ли способ зарегистрировать конкретный запрос? Это выглядит подозрительно глобально, и у нас будут тысячи запусков. В общем, мы хотели бы видеть только ту, что на Странице Смерти. (Или, желательно, чтобы он отображался где-то на сервере DEV.) –

+0

Получил это. Отредактировано, чтобы показать вам, как это сделать. –

Смежные вопросы