フォロー機能を作っています。
紐付け、解除をattach,detachで出来たのでsyncでもやろうと確認したところdetachが通りません。
解決したいこと: syncを使って紐付け、解除を行いたい。
現状: attach,detach,toggleだと求めている処理になります。
syncで呼ぶときはfollowとunfollowは使わずに、コントローラーからfollowsを通して直接呼び出しています。(toggleの場合も同じです)
model
1 public function follows() 2 { 3 return $this->belongsToMany(self::class, 'follows', 'following_id', 'followed_id'); 4 } 5 6 public function follow($user_id) 7 { 8 return $this->follows()->attach($user_id); 9 } 10 11 public function unfollow($user_id) 12 { 13 return $this->follows()->detach($user_id); 14 }
controller
1 public function follow_do(User $user) 2 { 3 $follow_user = Auth::user(); 4 5 $follow_user->follows()->sync($user->id); 6 }
toggleで実装すると求めていた処理にはなったのですがsyncでdetachが通らないのが疑問だったので質問させていただきました。
お分かりなる方居ましたら、ご教授いただきたいです。
よろしくお願いします。
laravel 7.x
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/31 01:17