📜  如何在 Laravel 中获取上次执行的查询 - PHP (1)

📅  最后修改于: 2023-12-03 15:38:19.362000             🧑  作者: Mango

如何在 Laravel 中获取上次执行的查询

在 Laravel 中,如果需要获取上次执行的查询语句,可以通过 DB::getQueryLog() 方法来实现。

步骤
  1. 开启查询日志

.env 文件中将 APP_DEBUG=true,Laravel 就会自动开启查询日志。

  1. 执行查询

在需要获取上次执行的查询语句的代码块中,执行对数据库的操作,例如:

$users = DB::table('users')->get();
  1. 获取查询日志

通过 DB::getQueryLog() 方法获取查询日志:

$queries = DB::getQueryLog();
  1. 获取上次执行的查询语句

查询日志中最后一项即为上次执行的查询语句:

$lastQuery = end($queries)['query'];
示例
// 开启查询日志
config(['app.debug' => true]);

// 执行查询
$users = DB::table('users')->get();

// 获取查询日志
$queries = DB::getQueryLog();

// 获取上次执行的查询语句
$lastQuery = end($queries)['query'];

echo $lastQuery;
// 输出:select * from `users`
结论

在 Laravel 中,获取上次执行的查询语句非常简单,只需要开启查询日志、执行查询以及通过 DB::getQueryLog() 方法获取结果即可。