Eloquentマイグレーションには列の既定値が含まれており、モデルの作成時にその既定値が実際にデータベースに設定されています。しかし、Eloquentはこの値を知らないようで、nullを返します。Laravel Eloquentデフォルトで属性が設定されていません
移行:データベースで
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->integer('role')->default(0);
$table->rememberToken();
$table->timestamps();
});
}
、役割の値が実際に0ですが、$user->getAttributes()
を呼び出すときに(何らかの形で値がnullに設定されているので、可能性が高い)role
列は存在すらしていません。
私はこの仕事をするために何が欠けていますか?実際に使用可能なデフォルト値を正しく設定するにはどうすればよいですか?
実際に、私はどんな関係を作成していません。私は 'artisan make:auth'以外のlaravelを新しくインストールした後、実際に何もしなかったので、移行にこのフィールドを追加しました。 – tam5