2017-08-03 72 views
0

我想使用窗體創建新的客戶端,但我不能這樣做。問題是: 完整性約束違規:1048列「名稱」不能爲空質量分配和完整性約束違規

下面是一些代碼:

protected $fillable = [ 'name'] 

Client::create($request->all()); 

我如何做是正確的?

回答

0

該錯誤消息意味着當您嘗試創建新客戶端時,name沒有任何價值。確保您的HTML表單輸入名爲name。輸入名稱必須與數據庫表中列的名稱相匹配。這很可能是你的問題。

UPDATE

  1. 編輯您的客戶端遷移到這個$table->string('name')->nullable();
  2. 運行php artisan migrate:refresh

現在,您就可以,而不需要一個名稱以創建一個新的客戶端。

+0

我有列名稱,輸入是命名的名稱,但我沒有輸入文字,因爲我不想要它。而且我無法用空表單創建客戶端。 – SuperProgrammer

+0

@SuperProgrammer如此我清楚,您希望能夠創建一個新客戶端,而不必輸入名稱,正確嗎? – three3

+0

是的,我也有另一個輸入,但我想創建即使是空的。那麼只有ID會在那裏。 – SuperProgrammer

0

在您的遷移,你必須設置你的名字字段可空:

$table->string('name')->nullable(); 

,或者設置默認值()值:

$table->string('name')->default(''); 

然後,你必須運行遷移到更新表格。

相關問題