2016-12-04 62 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();