0
我試圖更新數據透視表中的值。這是我的方法:UpdateExistingPivot方法不起作用
public function updateStatus(Event $event)
{
$this->authorize('updateStatus', $event);
$newStatus = Input::get('status');
$actualPivot = $event->guests()->where('user_id', Auth::id())->first()->pivot;
$id = $actualPivot['id'];
$status = $actualPivot['status'];
if ($newStatus != $status)
{
dd($event->guests()->updateExistingPivot($id, ['status' => $newStatus]));
}
return back();
}
我檢查過HeidiSQL,行沒有更新它應該如何。我也嘗試this solution,但它不更新行,它創建一個新的。還有就是dd()
用這種方法:
array:3 [▼
"attached" => array:1 [▼
0 => 1
]
"detached" => []
"updated" => []
]
這是在Event
模型中定義我guests()
關係:
public function guests()
{
return $this->belongsToMany('App\User')
->using('App\Invitation')
->withPivot('id', 'status')
->withTimestamps();
}
我不知道爲什麼updateExistingPivot()
方法不起作用。我希望你能幫忙。