*前提、実現したいこと
現在、laravelでオリジナルアプリの製作をしています。
たくさんの趣味に関するコミュニティがあり、ユーザーはそのコミュニティに参加するというものです。
実現したいことは、「ユーザーが入りたいコミュニティに参加する」 → 「ユーザーのプロフィールの参加コミュニティ欄に表示させる』です。
テーブル設計
userテーブル
communityテーブル
community_userテーブル
*つまずいているところ
参加するボタンを押すと以下の処理を実行し、community_userテーブルにcommunity-id,
user_idを保存させます。
php
1 public function join($id) 2 { 3 $user = Auth::User(); 4 $user->communities()->sync([$id]); 5 $user->save(); 6 return view('admin.app.top', ['community' => Community::find($id)]); 7 }
この書き方だと、あるユーザーが追加で二個目のコミュニティに参加しようとすると、最初に入ったコミュニティについてはDBから消されてしまいます。
下のようにuser_id2がすでにcommunity_id1に入っている状態でcommunity_id2に参加しようとすると
下のように、community_id1に入っていたというデータが消えてしまうのです。
*環境
言語 php
フレームワーク laravel
DB mysql
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/31 01:31