我是laravel的新手并将其用作输入查询:
DB::table('user_input')->insert(array(
array('fname' => Input::get('Name'),'lname' => 'no','email' => Input::get('E-Mail'),'date_from' => $from_date,'date_to' => $to_date,'phone' => Input::get('Phone'),'message' => Input::get('Message'),'ip_address' => Request::getClientIp(), 'newsletter' => Input::get('Sign-up'))
));
我在标准的php中永远不会这样做,因为查询似乎没有准备好,我将用户输入直接放到上面的查询中。
在Eloquent ORM中是否有自动准备,我还没有认识到,或者我如何用Eloquent写一份准备好的声明?
答案 0 :(得分:3)
Eloquent在幕后制作PDO风格的语句,以防止像sql注入这样的事情。 Eloquent模型默认情况下也可以防止质量分配。除非您特别注意应该保护的数据库列或反向(应该可填写的列),否则将抛出异常。
http://laravel.com/docs/4.2/eloquent#mass-assignment
如果你想深入挖掘,可以查看课程
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php`
了解laravel如何在Eloquent中构建查询。