不要在Laravel Eloquent ORM中使用准备好的陈述?

时间:2014-08-13 20:59:59

标签: sql laravel prepared-statement eloquent infinidb

我可以让Eloquent ORM在不使用预准备语句的情况下运行查询吗?或者我必须使用whereRaw()

我需要使用原始查询,因为我正在尝试与InfiniDB进行交互,因为InfiniDB缺乏对PHP预处理语句的支持。无论如何,所有查询都将使用内部生成的数据,而不是用户输入,因此不应该是安全问题。

1 个答案:

答案 0 :(得分:1)

SELECT以外的任何内容,您都可以使用unprepared()

DB::unprepared($sql);

对于未准备好的SELECT,您可以通过getPdo()访问有效的PDO连接来使用纯PDO query()

$pdo = DB::getPdo();
$query = $pdo->query($sql);
$result = $query->fetchAll();