插入外键值laravel,并在laravel中进行迁移
我希望在迁移时插入外键,而不是在1中添加外键值插入外键值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
`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?看看我的答案