来自http://laravel.com/docs/5.1/queries的任何示例使用 - >其中(...)对我失败。生成的查询始终具有问号而不是传递的值。
代码:
var_dump(
DB::table('users')
->where('votes', '>=', 100)
->toSql()
);
输出:
string 'select * from `users` where `votes` >= ?' (length=40)
答案 0 :(得分:1)
正如您的问题的评论中提到的,没有任何内容被破坏,运行->toSql()
将在任何值绑定到它之前显示查询。
如果您需要查看绑定到查询的值,可以使用DB::listen()
:
DB::listen(function($sql, $bindings, $time) {
var_dump($sql); // this is the query
var_dump($bindings); // these are the values bound to the query
var_dump($time); // time query took to process
});
您会发现这篇文章非常有用:https://scotch.io/tutorials/debugging-queries-in-laravel