Laravel如何从具有附加信息的模型中分离出来

时间:2015-06-24 07:53:14

标签: laravel eloquent

我想使用具有附加信息的枢轴分离模型。为了附加,这很好用:

$user->badges()->attach($badge_id, ['additional' => $addInfo]);

我想做的是

$user->badges()->detach($badge_id, ['additional' => $addInfo]);

但遗憾的是,使用$ badge_id删除了所有徽章。

1 个答案:

答案 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而附加只是一个值。