[英]Dump sql queries with Laravel/Lumen DB facade
我正在使用Lumen(按时发布的最新版本),并使用DB:insert()
方法运行一些数据库查询。
$insert = DB:insert('insert into sales (sale_number, sale_value, time) values (?,?,?)',[$sale_number, $sale_value, Carbon::now()]);
由于某些原因,插入无法正常工作,并且屏幕显示空白。
var_dump($ insert)返回false
我在App服务提供商中添加了一个侦听器:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
DB::listen(function($sql, $bindings, $time) {
echo 'SQL: '.$sql;
var_dump( $bindings);
});
}
}
然而,它呼应
SQL: insert into sales (sale_number, sale_value, time) values (?,?,?)
array();
DB::getQueryLog();
也分别转储查询和绑定。
如何获得编译查询?
你不能
PDO没有给您这种选择。 所有框架和库都为此而苦苦挣扎。
如果您使用的是UNIX并在本地运行mysql,则可以运行:
tail -f /var/log/mysql/mysql.log
当查询在mysql上运行时,这将输出查询。
如果您未运行Unix,则可以使用
SELECT * FROM mysql.general_log LIMIT 10;
要输出最后10个查询,请在mysql上运行。 仍然无法通过PDO获得。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.