在Laravel Eloquent中插入多对多关系的数据



我已经为(用户)和(角色)模型在两个级别(数据库和模型)上创建了多对多关系,现在我如何将许多角色分配给用户id = 2例如:如下所示?

$user = User::find(2);
????
return view('index', compact(''));

通过使用attach和insert array为多个角色

$roleId = [1, 2, 3];
$user->roles()->attach($roleId);

还有sync方法,不同的是sync只有当用户不包含在roleId数组中时才会删除与用户相关的所有角色

// User has role_id 1, 2, 3
$roleId = [1, 3];
$user->roles()->sync($roleId); // Role id 2 removed

文档

最新更新