Laravel查询构建器'where'方法被破坏

时间:2015-06-14 12:58:35

标签: php mysql laravel laravel-5

来自http://laravel.com/docs/5.1/queries的任何示例使用 - >其中(...)对我失败。生成的查询始终具有问号而不是传递的值。

代码:

var_dump(
    DB::table('users')
    ->where('votes', '>=', 100)
    ->toSql()
);

输出:

string 'select * from `users` where `votes` >= ?' (length=40)

1 个答案:

答案 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