插入外键值laravel,并在laravel中进行迁移

插入外键值laravel,并在laravel中进行迁移,laravel,insert,foreign-keys,default-value,migrate,Laravel,Insert,Foreign Keys,Default Value,Migrate,我希望在迁移时插入外键,而不是在1中添加外键值 `public function up() { Schema::table('users', function (Blueprint $table) { $table->integer('role_id')->unsigned()->after('email')->nullable(); $table->foreign('role_id')->reference

我希望在迁移时插入外键,而不是在1中添加外键值

`public function up()
    {
        Schema::table('users', function (Blueprint $table) {
      $table->integer('role_id')->unsigned()->after('email')->nullable();
        $table->foreign('role_id')->references('id')->on('roles');
        });
        $data = [
            'name' => 'admin',
            'email' => 'admin@admin.com',
            'role_id' => 1,
            'password' => bcrypt('123456'),
        ];
        App\User::create($data);
    }`

下面是users表的列表

在foregin键中创建迁移集defualt值1

 $table->integer('role_id')->unsigned()->after('email')->nullable()->default(1);

在迁移中播种数据不是一个好的做法


确保引用的表中存在
role\u id

还要确保
role\u id
未被加密,并且存在于
User
模型的可填充数组中

$fillable = ['role_id']
我建议创建一个播种机,然后在迁移后运行播种机

php artisan make:seed User

希望这对参考表中是否存在角色id有所帮助?是的,首先我在角色表中插入数据,而不是在用户表中插入数据。您的模型中是否存在可填充的角色id?看看我的答案