n ラベルのコメント システムを管理し、このようなデータベース構造を設計したいと考えています。
未登録ユーザーのコメント管理をサポートするデータベースを設計しようとしています。私が必要とする機能は、コメントが投稿されたときのようなものです
- ユーザーが登録されている場合は、直接表示されます。それ以外は;
- 投稿は、表示される前にモデレーターによってチェックされる必要があります。
この機能をサポートするために、上記のデータベース スキーマに可能な変更を提案してください。
n ラベルのコメント システムを管理し、このようなデータベース構造を設計したいと考えています。
未登録ユーザーのコメント管理をサポートするデータベースを設計しようとしています。私が必要とする機能は、コメントが投稿されたときのようなものです
この機能をサポートするために、上記のデータベース スキーマに可能な変更を提案してください。
やりたいことをするために必要なものは多かれ少なかれあるようです。ユーザーが新しいコメントを作成するプロセスは次のとおりです。
if the user is registered, and not blocked
create BlogComment record with:
IsApproved=true
IsBlocked=false
UserId=registered userId
UserName = null
if the user is registered and blocked
create BlogComment record with
IsApproved=false
IsBlocked=true
UserId=registered userId
UserName = null
if the user is unregistered
create BlogComment record with
IsApproved=false
IsBlocked=false
UserId=null
UserName=user's name
コメントを引き出して投稿の下に表示するときは、次のようなクエリが必要です
SELECT Comment, ISNULL(bc.UserName, ru.UserName) AS UserName
FROM BlogComment bc
LEFT JOIN RegisteredUser ru
ON bc.UserId = ru.Id
WHERE postId=<current PostId>
AND IsApproved=1
これにより、承認されたすべてのコメント(登録済みユーザーまたはモデレートされた未登録ユーザーからのコメント)とユーザー名(登録済みユーザーの場合はRegisteredUser
テーブルからのユーザー名になり、未登録の場合は一緒に保存されます)が取得されます表のコメントBlogComment
)
最後に、モデレーターがモデレートする投稿のリストを引き出したい場合
SELECT *
FROM BlogComment
WHERE IsApproved=0
AND IsBlocked=0
次に、受け入れたレコードをに更新できますIsApproved=1
。