我表中有大約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