在 laravel 中迁移并插入外键值 laravel
insert foreign key value laravel with migration in 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);
}`
这是 screenshot 的用户 table
创建迁移在外键中设置默认值 1
$table->integer('role_id')->unsigned()->after('email')->nullable()->default(1);
在迁移中播种数据不是一个好习惯。
确保 role_id
存在于引用的 table 中。
还要确保 role_id
未被保护并且存在于 User
模型的可填充数组中。
$fillable = ['role_id']
我建议创建一个播种器,然后 运行 迁移后的播种器。
php artisan make:seed User
希望对您有所帮助
我想在迁移时插入外键而不是在 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);
}`
这是 screenshot 的用户 table
创建迁移在外键中设置默认值 1
$table->integer('role_id')->unsigned()->after('email')->nullable()->default(1);
在迁移中播种数据不是一个好习惯。
确保 role_id
存在于引用的 table 中。
还要确保 role_id
未被保护并且存在于 User
模型的可填充数组中。
$fillable = ['role_id']
我建议创建一个播种器,然后 运行 迁移后的播种器。
php artisan make:seed User
希望对您有所帮助