我表中有大约200字段编号:模型Laravel中的可填写字段?
field_1
field_2
etc
我试图在表中插入数据:
Result::insert($data);
哪里$data
是多个阵列:
$data = [] = array("field_1" => 3);
$data = [] = array("field_1" => 2);
灿我在选项protected $fillable = ["*"];
中设置了*
以使所有字段可填充?
我表中有大约200字段编号:模型Laravel中的可填写字段?
field_1
field_2
etc
我试图在表中插入数据:
Result::insert($data);
哪里$data
是多个阵列:
$data = [] = array("field_1" => 3);
$data = [] = array("field_1" => 2);
灿我在选项protected $fillable = ["*"];
中设置了*
以使所有字段可填充?
如果您需要设置所有列是可填充的,做这个模型:
protected $guarded = [];
如果你想使所有属性的质量分配,您可以定义$守卫财产空数组
在这种情况下,您可以尝试做相反的事情。例如:id
,created_at
和updated_at
字段为$守护。像:
protected $guarded = ['id', 'created_at', 'updated_at'];
除了这些以外其余部分将被视为fillable
即质量分配。
你可以找到Official Laravel Doc
护卫属性的详细信息
虽然$可填写作为属性应该是 质量分配的“白名单”,你也可以选择使用$ guard。 $ guard 属性应该包含一组属性,您不希望 可以进行批量赋值。所有不在阵列中的其他属性将为可分配的质量 。所以,$ guard功能像“黑名单”。当然, 你应该使用$ fildable或$ guard - 不是两种。
哪里'id'是主键(Autoincrement)? – Griboedov
是的,如果您在迁移文件中使用'$ table->增量('id')'。 –
实施例考虑支付的一种模式。 你可以这样做
Payment::unguard();
Payment::create($data);
Payment::reguard();
代码闻起来到处都是。 (数据库闻) – Kyslik