私はバッジシステムに取り組んでいます。これまでのところ、次のアイデアがあります。
基準で使用されるデータを格納する UserMeta テーブルを作成します。
UserMeta
===========================
user_id | posted_comment_count | flagged_comment_count | reputation | etc.
基準として使用するメタを追加する必要がある場合、列を追加する必要があるので、シリアル化されたオブジェクトをjsonなどで使用すると思います。 .
Badge という別のテーブル:
badge_id | badge_name | badge_criteria
バッジ基準は、次のようなオブジェクトを格納する json またはその他のシリアル化された形式です。
{
'posted_comment_count': '>= 20',
'flagged_comment_count': '=10',
}
ユーザーをバッジに関連付ける別のテーブル (単純な関連付けテーブル)
私は Doctrine2 を使用していますが、Event を使用して UserMeta を更新します。
フィードバック、推奨事項はありますか?