鉴于以下代码:

DB::table('users')->get();

我想获取上面的数据库查询生成器将生成的原始 SQL 查询字符串。在这个例子中,它将是 SELECT * FROM users

我该怎么做呢?

最佳答案

要将上次运行的查询输出到屏幕,您可以使用以下命令:

DB::enableQueryLog(); // Enable query log

// Your Eloquent query executed by using get()

dd(DB::getQueryLog()); // Show results of log

我相信最近的查询将位于数组的底部。

你会有这样的事情:

array(1) {
  [0]=>
  array(3) {
    ["query"]=>
    string(21) "select * from "users""
    ["bindings"]=>
    array(0) {
    }
    ["time"]=>
    string(4) "0.92"
  }
}

(感谢下面的 Joshua's 评论。)

关于php - 如何让查询构建器将其原始 SQL 查询作为字符串输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18236294/

10-14 14:59
查看更多