我正在Laravel 8中开发一个博客应用程序。
应用程序为用户提供角色和权限。角色和权限之间存在 * 多对多 * 关系。对于 * 播种roles_permissions表 *,我有一个RolesPermissionsSeeder播种器:
class RolesPermissionsSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
RolesPermissions::create([
'role_id' => '1',
'permission_id' => '7',
]);
RolesPermissions::create([
'role_id' => '2',
'permission_id' => '1',
]);
RolesPermissions::create([
'role_id' => '2',
'permission_id' => '2',
]);
RolesPermissions::create([
'role_id' => '2',
'permission_id' => '3',
]);
}
}
问题在于,
从上面可以看出,这段代码出现了3次,并做了一些细微的修改:
RolesPermissions::create([
'role_id' => '2',
'permission_id' => '1',
]);
用这个代替不为我工作:
RolesPermissions::create([
'role_id' => '2',
'permission_id' => [1, 2, 3],
]);
问题
为 * 每个role_id * 使用 * 一个 * create语句的最简单方法是什么?
2条答案
按热度按时间20jt8wwn1#
您可以使用
或者
要在没有
updated_at
和created_at
的情况下更新,请使用insert()
zf9nrax12#