2017-05-03 4 views
0

私のLaravel 5.4プロジェクトに何らかの認証が追加されています。ただし、新しいUserテーブル移行に対応するために、提供されたUser.phpファイル(Eloquentモデル)の$ fillable配列を更新すると、新しいユーザーの登録時の挿入クエリは変更を反映しません。下記参照。Eloquentモデルへの変更+マイグレーションが動作しない

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") 

エラーは、新しいユーザーを挿入するときにフィールドが考慮されていないことを明確に示しています。モデルを変更した後に行う必要があるLaravelの更新をいくつか見逃してしまったのですか?

+1

これは閉鎖にフラグを立てます。これは簡単な入力ミスで、他人を助けることはまずありません – milo526

答えて

1

あなたの記入欄にはapi-tokenを追加し、移行と作成にはapi_tokenを使用しました。
-_の違いに注目してください。

+0

私はこれに気付かなかったことを恥じています。 – Bradley

関連する問題