我的代码
$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();
答案 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();