我是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编写准备好的语句?
解决方法:
PDO风格是否在幕后预先准备了语句以防止sql注入之类的事情.雄辩的模型还默认情况下防止大规模分配.除非您特别注明应保护的数据库列或相反的列(应填充的列),否则将引发异常.
http://laravel.com/docs/4.2/eloquent#mass-assignment
如果您想进一步研究,可以看看课程
/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php`
了解laravel如何在Eloquent中构造查询.