如何在 laravel 中播种外键

How to seed foreign key in laravel

我正在使用 spatie/laravel-permission 角色和权限包

但是这里的种子永久角色和权限出现问题是数据库列表link

https://github.com/spatie/laravel-permission/blob/master/database/migrations/create_permission_tables.php.stub

我制作这些数据播种机用于播种

 $this->call(UsersTableSeeder::class);
 $this->call(PermissionsTableSeeder::class);
 $this->call(RolesTableSeeder::class);
 $this->call(RolehaspermissionTableSeeder::class);
 $this->call(ModelhasrolesTableSeeder::class);

permissiontableseeder

DB::table('roles')->insert([
'name' => 'Administrator',
'guard_name' => 'web',
]);

RoleTableSeeder

DB::table('roles')->insert([
'name' => 'Admin',
'guard_name' => 'web',
]);

RolehaspermissionTableSeeder

DB::table('role_has_permissions')->insert([
'permission_id' => '1',
'role_id' => '1',
]);

ModelhasrolesTableSeeder

DB::table('model_has_roles')->insert([
'role_id' => '1',
'model_id' => '1',
'model_type' => 'App\User',
]);

这里是错误截图

http://prntscr.com/h83ttx

帮我做种子谢谢

检查table名字

DB::table('roles')->insert([
'name' => 'Administrator',
'guard_name' => 'web',
]);

权限table播种机

应该是这样的

DB::table('permissions')->insert([
'name' => 'Administrator',
'guard_name' => 'web',
]);

希望对您有所帮助

我们可以这样做...

$coursesIDs = DB::table('courses')->pluck('id');
$studentsIDs= DB::table('students')->pluck('id');

foreach (range(1,50) as $index) {
        DB::table('course_student')->insert([
            'course_id' => $faker->randomElement($coursesIDs)
            'student_id' => $faker->randomElement($studentsIDs)
        ]);
}