我正在嘗試在文章上設置收藏夾按鈕。以下代碼有效...public function favouriteNotfavouriteArticleParent(Request $request){ $data = []; $data['user_id'] = Auth::id(); $data['person_id'] = GetPersonData()['id']; $data['article_id'] = $request->get('article_id'); $data['action'] = $request->get('action'); UserFavourites::updateOrCreate($data,$data);}但是,我希望它首先檢查為該文章 ID 設置的任何現有值。如果它有最喜歡的集合并且沒有點擊,它應該刪除最喜歡的表格行。此刻,它只是為最喜歡和最不喜歡添加了一行。我附上了當前 sql 行為的屏幕截圖。非常感謝任何幫助!
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
UpdateOrCreate有兩個參數。第一個參數是要查找的屬性數組,第二個參數是要更改的屬性數組。如果數據庫中沒有具有來自第一個數組的屬性的行,則數組基本上將被組合以在數據庫中創建一個新行。
要實現您的目標,您可以執行以下操作:
UserFavourites::updateOrCreate([
'article_id' => $request->input('article_id'),
'user_id' => auth()->id(),
], [
'person_id' => GetPersonData()['id'],
'action' => $request->input('action'),
]);
上面將查找與 匹配的行,article_id然后user_id更新該行的person_idandaction或(如果該行不存在)創建一個包含所有屬性的新行。
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消