我有一个包含以下各列的参考表:
-user_id (foreign key)
-location_id (foreign key)
-skill_level
-court_id
我可以使用以下命令更新上表中的skill_level
枢轴列值:
$user = User::find($user_id)
$user->locations()->updateExistingPivot($location_id, array(
'skill_level' => $new_value
));
我想在上面添加类似于wherePivot()
的内容,以便仅匹配某个court_id
(除了user_id
和location_id
)的记录才是更新。类似于:
->wherePivot('court_id', '=', $court_id);
如何通过updateExistingPivot()
通话来实现?
答案 0 :(得分:0)
我最终使用了newPivotStatement()
-它使您可以从数据透视表中开始一连串的语句。
该呼叫看起来像不是使用updateExistingPivot()
:
$user->locations()->newPivotStatement()->where('location_id', '=', $location_id)
->where('court_id', '=', $court_id)->update(array(
'skill_level' => $new_value
));