$user = User::get(1);
// 传入中间表的额外属性
$user->roles()->attach(1,['remark'=>'test']);
//此时添加成功,
//注:数据表user_id, roles_id,两字段唯一: userrole unique(user_id, roles_id)。
//如何再次增加相同数据时,
// 增加关联的中间表数据
$user->roles()->attach(1);
//添加成功,第一次添加的数据被删除了,重新添加第二次的数据(row id变化),第一次传入中间表的额外属性也删除了。正常情况下,如果user_id, roles_id相同row存在的话,应该添加失败才对吧,这样把原数据删除了,造成关联行中的额外属性也丢失。是不是有问题? 最佳答案