use App\Order;
public function show(Order $order) {
$data = $order->all();
return dd($order->getQueryLog());
有什么方法可以显示 Eloquent 在 Laravel 中构建的查询?
我试过 getQueryLog();
但它不起作用
原文由 Benjamin W 发布,翻译遵循 CC BY-SA 4.0 许可协议
use App\Order;
public function show(Order $order) {
$data = $order->all();
return dd($order->getQueryLog());
有什么方法可以显示 Eloquent 在 Laravel 中构建的查询?
我试过 getQueryLog();
但它不起作用
原文由 Benjamin W 发布,翻译遵循 CC BY-SA 4.0 许可协议
查询执行
\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {
$sql = $query->sql;
$time = $query->time;
$connection = $query->connection->getName();
Log::debug('query : '.$sql);
Log::debug('time '.$time);
Log::debug('connection '.$connection);
});
询问
StaffRegister::all();
输出
[2021-03-14 08:00:57] local.DEBUG: query : select * from `staff_registers`
[2021-03-14 08:00:57] local.DEBUG: time 0.93
[2021-03-14 08:00:57] local.DEBUG: connection mysql
完整的结构
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Log;
use App\Models\StaffRegister;
class AuthController extends Controller
{
public function index(){
\Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) {
$sql = $query->sql;
$time = $query->time;
$connection = $query->connection->getName();
Log::debug('query : '.$sql);
Log::debug('time '.$time);
Log::debug('connection '.$connection);
});
$obj = StaffRegister::all();
return $obj;
}
}
准确的方法
原文由 Mohamed Raza 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答485 阅读✓ 已解决
771 阅读
首先,您必须启用查询日志,可以使用
然后您可以使用以下代码查看查询日志
如果您想查看最后执行的查询
要了解有关日志记录的更多信息,请参阅此 https://laravel.com/docs/5.0/database#query-logging
例子