我想使用具有附加信息的枢轴分离模型。为了附加,这很好用:
$user->badges()->attach($badge_id, ['additional' => $addInfo]);
我想做的是
$user->badges()->detach($badge_id, ['additional' => $addInfo]);
但遗憾的是,使用$ badge_id删除了所有徽章。
答案 0 :(得分:0)
Attach确实有一个提供附加属性的选项,而detach则没有。请参阅api参考:
http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Relations/BelongsToMany.html#method_detach
int detach(int|array $ids = array(), bool $touch = true)
但你可以这样做:
$user->badges()->where('id',$badge)->where('additional', $addInfo)->update(['user_id' => null]);
假设它是badges.user_id而附加只是一个值。