2016-12-04 76 views
8

我表中有大约200字段编号:模型Laravel中的可填写字段?

field_1 
field_2 
etc 

我试图在表中插入数据:

Result::insert($data); 

哪里$data是多个阵列:

$data = [] = array("field_1" => 3); 
$data = [] = array("field_1" => 2); 

灿我在选项protected $fillable = ["*"];中设置了*以使所有字段可填充?

+0

代码闻起来到处都是。 (数据库闻) – Kyslik

回答

9

在这种情况下,您可以尝试做相反的事情。例如:id,created_atupdated_at字段为$守护。像:

protected $guarded = ['id', 'created_at', 'updated_at']; 

除了这些以外其余部分将被视为fillable质量分配

你可以找到Official Laravel Doc

护卫属性的详细信息

虽然$可填写作为属性应该是 质量分配的“白名单”,你也可以选择使用$ guard$ guard 属性应该包含一组属性,您不希望 可以进行批量赋值。所有不在阵列中的其他属性将为可分配的质量 。所以,$ guard功能像“黑名单”。当然, 你应该使用$ fildable$ guard - 不是两种。

+0

哪里'id'是主键(Autoincrement)? – Griboedov

+1

是的,如果您在迁移文件中使用'$ table->增量('id')'。 –

0

实施例考虑支付的一种模式。 你可以这样做

Payment::unguard(); 
Payment::create($data); 
Payment::reguard();