条件流明(Laravel)如何工作?

时间:2017-03-26 10:54:30

标签: php laravel lumen

我的代码

$query = $this->newQuery();
$value = $query->select(['id','text', 'author'])->where('id','=','2')->toSql();

$value回复:

select `id`, `text`, `author` from `quotes` where `id` = ?

我认为$value会回复:

select `id`, `text`, `author` from `quotes` where `id` = 2

我的app.php已经拥有此代码 $app->withEloquent();

1 个答案:

答案 0 :(得分:1)

一切都正确。 Laravel向您展示准备好的QUERY而非绑定参数。

它的工作方式是,它首先从Eloquent方法编译SQL(select,where,...),一旦完成编译语法,它就会填充参数来代替问号。 / p>

如果您想获取查询和参数,可以尝试以下操作:

// enable logging
\DB::enableQueryLog(); 

// listen to database queries
\DB::listen(function($sql, $bindings, $time) {
    var_dump($sql);
    var_dump($bindings);
    var_dump($time);
});

// run a query
$query->select(['id','text', 'author'])->where('id','=','2')->get();