【发布时间】:2015-01-23 18:14:33
【问题描述】:
我是 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 编写准备好的语句?
【问题讨论】:
-
您所拥有的将自动在幕后使用准备好的语句。
-
请注意 - 此查询与 Eloquent 无关。这是
Query\Builders 插入方法,它甚至不涉及 Eloquent 功能。另一方面,Eloquent 依赖于自己的Eloquent\Builder类后面的Query\Builder。 -
@JarekTkaczyk 谢谢你的来信,你能给我指出一个更“雄辩”的方式吗?
-
@baao 那你有
user_input表的型号吗?如果是这样,那么只需使用Model::create(['fname' => ... ])方法。但是,请注意,您需要拥有这些字段fillable才能保存它们。如果你没有,那么绝对没有办法使用 Eloquent 来完成这项工作:)
标签: php mysql laravel laravel-4 eloquent