2015-01-02 62 views
1

我用遷移到更新我的用戶表,包括用戶名填寫,但對註冊場未在數據庫填充:Laravel用戶::創建丟失數據

$input = Input::only(['name', 'username', 'email', 'password']); 
    $input['password'] = Hash::make($input['password']); 
    User::create($input); 
    return Redirect::to('login'); 

轉儲該帖子提供了:

array (size=4) 
    'name' => string 'Joe Bloggs' (length=13) 
    'username' => string 'jbloggs' (length=12) 
    'email' => string '[email protected]' (length=24) 
    'password' => string '$2y$10$whgTTwa5g.du/WJfJGhGtO******SYTerzL4bhOuedW4C' (length=60) 

但是,用戶名字段始終爲空。沒有錯誤或警告。我嘗試了回滾並重新遷移,但沒有任何變化。

我錯過了什麼嗎?謝謝!

+1

你有'username'? – lukasgeiter

+0

@lukasgeiter拯救生命!我在這上面花了大約2個小時!非常感謝! – Dan

回答

1

所有屬性傳遞給create需要$fillable陣列中被定義,以便你可以將它們用於mass assignment

你的情況:

protected $fillable = array('name', 'username', 'email', 'password'); 

或者你也可以定義相反,一組guarded屬性:在你的`fillable`陣列

protected $guarded = array('foo', 'bar');