在 laravel 中插入带有迁移的外键值 laravel

Md *_*lam 5 foreign-keys insert migrate default-value laravel

我想在迁移时插入外键而不是在 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);
    }`
Run Code Online (Sandbox Code Playgroud)

这是用户表的屏幕截图

Adn*_*taz 4

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

确保role_id存在于引用的表中。

还要确保role_id没有受到保护并且存在于User模型的可填充数组中。

$fillable = ['role_id']
Run Code Online (Sandbox Code Playgroud)

我建议创建一个播种器,然后在迁移后运行播种器。

php artisan make:seed User
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助