亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 替換現有數據庫值 - 收藏夾

Laravel 替換現有數據庫值 - 收藏夾

PHP
慕斯709654 2022-07-09 10:39:50
我正在嘗試在文章上設置收藏夾按鈕。以下代碼有效...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或(如果該行不存在)創建一個包含所有屬性的新行。


查看完整回答
反對 回復 2022-07-09
  • 1 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號