2017-05-03 60 views
0

我正在爲我的Laravel 5.4項目添加一些身份驗證。但是,在更新提供的User.php文件(這是一個Eloquent模型)$ fillable數組以對應於我的新用戶表遷移時,註冊新用戶時的插入查詢不會傳播更改。見下文。對雄辯模型+遷移不起作用的更改

protected function create(array $data) 
    { 
     return User::create([ 
      'name' => $data['name'], 
      'email' => $data['email'], 
      'api_token' => str_random(60), 
      'password' => bcrypt($data['password']) 
     ]); 
    } 

我已經添加了「API令牌」到我的數據庫,並更新了模型的$可填寫陣列以及

protected $fillable = [ 
     'name', 'email', 'password', 'api-token', 
    ]; 

和我的移民已經刷新​​爲這是加的變化「 API令牌」字段

Schema::create('users', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('email')->unique(); 
      $table->string('password'); 
      $table->string('api_token', 60)->unique(); 
      $table->rememberToken(); 
      $table->timestamps(); 
     }); 

但是我仍然得到了同樣的錯誤,那就是:

null value in column "api_token" violates not-null constraint 

(SQL: insert into "users" ("name", "email", "password", "updated_at", "created_at") values (Bradley, [email protected], $2y$10$IBq0yEumngpeWf/oql1HgeMRYP1ANj.owXqkMc7gtIN/kxcW46Giu, 2017-05-03 13:37:56, 2017-05-03 13:37:56) returning "id") 

錯誤清楚地顯示插入新用戶時甚至沒有考慮到api_token字段。我是否錯過了對模型進行更改以使其生效後需要執行的Laravel更新?

+1

我將此問題標記爲關閉,因爲這是一個簡單的印刷錯誤,不太可能幫助其他人 – milo526

回答

1

在您的可供填寫內容中,您添加了api-token,而在您的遷移和創建過程中您使用的是api_token
請注意-_之間的差異。

+0

我感到羞愧的是沒有注意到這一點。 – Bradley