thinkphp 多对多 更新

在ThinkPHP中,多对多关系通常通过中间表(也称为连接表)来实现。如果你需要更新多对多关系,你可以先删除旧的关联,然后创建新的关联

// 假设有两个模型:User和Role,它们通过中间表user_role连接
// 先删除旧的关联
$user = User::get($userId); // 获取用户实例
$user->role()->detach(); // 删除所有现有关联
 
// 然后创建新的关联
$roleIds = [1, 2, 3]; // 新的角色ID数组
$user->role()->saveAll($roleIds); // 创建新的多对多关系
 
// 或者如果你有角色实例的数组
$roles = []; // 角色实例数组
foreach ($roleIds as $roleId) {
    $role = Role::get($roleId);
    $roles[] = $role;
}
$user->role()->saveAll($roles); // 创建新的多对多关系
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值