【发布时间】:2013-09-27 20:46:39
【问题描述】:
如何在 Laravel 4 中转义传递给原始查询的参数?我期待像 DB::escape() 之类的东西(它从 Laravel 3 中敲响了钟声)并且还尝试了 DB::quote() (我认为可以通过 PDO object 获得)
$query = DB::select("SELECT * FROM users WHERE users.id = " . DB::escape($userId));
我们不能使用带占位符的 select 方法,因为上面只是我们试图实现的一个简化示例。我们有一个大型自定义查询,其中包含一些嵌套的 select 查询,这些查询不能适应查询生成器。
在 Laravel 4 中插入之前转义某些内容的最佳方法是什么?
编辑:
我刚刚发现您可以通过这种方式访问 PDO 对象并在其上使用引用函数。这仍然是最好的方法,还是有更简单的方法来访问此功能?
DB::connection()->getPdo()->quote("string to quote");
【问题讨论】:
-
谢谢。 +1 包括解决方案(您也可以单独发布它作为答案,并接受它......可以为我们节省一些时间)
-
@J.Bruni,好点子!我现在也将其添加为实际答案,因此应该更容易找到。
标签: php mysql pdo laravel laravel-4