私 (現在のユーザー) が所有する複数のグループにユーザーを割り当てる必要がある状況がありますが、最善の方法はわかりません。他の投稿をいくつか読みましたが、私の要件は少し異なると思います。
状況は、登録ユーザーが友達とグループを作成し、友達をグループに割り当てることができる AS3 のモバイル アプリの場合です。
現在、私のテーブル構造は次のとおりです。
User table
id username
--------------
1 user1
2 user2
3 user3
Friend link table
id user_id friend_user_id
-------------------------------
1 1 2
2 2 1
3 1 3
4 3 1
Group table
id group_name user_id
---------------------------
1 group1 1
2 group2 1
Group link table
id group_id user_id
-------------------------
1 1 2
2 2 2
3 1 3
基本的に、ユーザーはIDを設定するアカウントを作成し、他の登録ユーザーになることができる友達を追加します。これにより、フレンド リンク テーブルに 2 つのレコードが作成されます (ユーザーごとに 1 つ)。その後、ユーザーはグループを作成できます (グループはユーザー ID によってリンクされます)。その後、ユーザーは友人をグループに割り当てることができます。
私は3つの質問があると思います:
- 現在の構造はそのような状況に適していますか?
- ユーザーを追加/削除するときに利用可能なすべてのグループを表示する必要があるため、ユーザーが友達/グループ リンクを保存したら、どのようにデータを挿入/削除すればよいですか?
ありがとう
編集: 質問 2 の続き - グループ ID、ユーザー ID、および isSelected フラグを設定してアプリから PHP スクリプトに配列を渡すことで、選択したグループをグループ リンク テーブルに書き込むことができましたが、ユーザーが削除されると失敗します選択されていないグループではなく、選択されたグループのみを渡すためです。