私の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の更新をいくつか見逃してしまったのですか?
これは閉鎖にフラグを立てます。これは簡単な入力ミスで、他人を助けることはまずありません – milo526