Как вы идете об экранировании параметров, переданных в исходный запрос в Laravel 4? Я ожидал чего-то вроде DB::escape()
(который звонит из Laravel 3), а также попытался DB::quote()
(который, как я думал, может быть доступен через объект PDO)
$query = DB::select("SELECT * FROM users WHERE users.id = " . DB::escape($userId));
Мы не можем использовать метод select с заполнителями, поскольку приведенное выше является просто упрощенным примером того, что мы пытаемся достичь. У нас есть большой пользовательский запрос с несколькими вложенными запросами выбора, которые не могут адаптироваться к построителю запросов.
Каков наилучший способ избежать чего-то перед вставкой в Laravel 4?
EDIT:
Я только что обнаружил, что вы можете получить доступ к объекту PDO и использовать здесь функцию quote. Это лучший подход, или есть более простой способ доступа к этой функции?
DB::connection()->getPdo()->quote("string to quote");