Eloquent 还是表演?而不是 where 子句中的值
Eloquent orm show ? instead values in where clause
我有这个功能:
public function obtenerListaRegistros($where = NULL) {
$bdObjeto = static::query();
if ($where != NULL) {
foreach ($where AS $w) {
$bdObjeto->where($w['columna'], $w['condicional'], $w['valor']);
}
}
return $bdObjeto->toSql();
}
数组 $where 类似于:
array(
0 => array(
'columna' => 'deleted'
'condicional' => '=',
'valor' => 0
)
);
但它 returns select * 来自 usuario
其中 delected
= ? 而不是 select * 来自 usuario
其中 deleted
= 0 ...
我试过没有 foreach 但它仍然显示“?”和 ->get() 函数,但这 returns 所有行...
提前致谢
那是因为 Laravel 使用 绑定 将值插入查询以避免 SQL 注入。当查询为 运行.
时,?
将被替换为实际值
我有这个功能:
public function obtenerListaRegistros($where = NULL) {
$bdObjeto = static::query();
if ($where != NULL) {
foreach ($where AS $w) {
$bdObjeto->where($w['columna'], $w['condicional'], $w['valor']);
}
}
return $bdObjeto->toSql();
}
数组 $where 类似于:
array(
0 => array(
'columna' => 'deleted'
'condicional' => '=',
'valor' => 0
)
);
但它 returns select * 来自 usuario
其中 delected
= ? 而不是 select * 来自 usuario
其中 deleted
= 0 ...
我试过没有 foreach 但它仍然显示“?”和 ->get() 函数,但这 returns 所有行...
提前致谢
那是因为 Laravel 使用 绑定 将值插入查询以避免 SQL 注入。当查询为 运行.
时,?
将被替换为实际值