Eloquent ORM:在执行之前获取生成的SQL语句

时间:2018-03-09 09:29:19

标签: php eloquent

有人知道在执行之前是否可以查看生成的SQL语句?

我知道我可以获得查询日志,但是在语句执行之后。我正在寻找一种方法来获取/查看生成的SQL语句在执行之前。

任何提示都将受到高度赞赏。

2 个答案:

答案 0 :(得分:5)

看看toSql()方法,我认为这是你想要的,但它会显示没有任何绑定的查询

例如:

dd(User::where('id','=',5)->toSql())

将转储此内容:

select * from `users` where `id` = ?

答案 1 :(得分:4)

您可以通过方法\Illuminate\Database\Query\Builder::toSql()

获取sql
Post::where('id', '>', 10)->toSql()

请参阅演示https://implode.io/XDCq5G