nラベルのコメントシステムを管理し、このようなデータベース構造を設計したいと考えています。 コメントシステムの構造
登録されていないユーザーのコメント管理をサポートするデータベースを設計しようとしています。私が必要とする機能は、コメントが投稿されたときのようなものです。
- ユーザーが登録されていると、それが直接表示されます。さもないと;
- 投稿が表示される前にモデレータがチェックしてください。
この機能をサポートするために上記のデータベーススキーマの変更点をご提案ください。
nラベルのコメントシステムを管理し、このようなデータベース構造を設計したいと考えています。 コメントシステムの構造
登録されていないユーザーのコメント管理をサポートするデータベースを設計しようとしています。私が必要とする機能は、コメントが投稿されたときのようなものです。
この機能をサポートするために上記のデータベーススキーマの変更点をご提案ください。
あなたが望むことを行うために必要なものは多かれ少なかれあるようです。あなたは
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
これはすべて承認されたコメントを引き出します
ようなクエリ(それらをしたいポストの下に表示するようなコメントを引き出すとき
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
を次のようにユーザーが新しいコメントを作成するプロセスがあります登録されているユーザ、またはモデレートされている登録されていないユーザから)、ユーザ名とともに表示されます(登録ユーザの場合は、RegisteredUser
テーブルのユーザ名です。登録されていないため、BlogComment
テーブルのコメントとともに保存されます)
最後に、あなたが
SELECT *
FROM BlogComment
WHERE IsApproved=0
AND IsBlocked=0
あなたは、彼らがIsApproved=1
に受け入れるレコードを更新することができます緩和するためにモデレータのために記事のリストを引き出したいです。
私に素敵なアプローチを与えてくれてありがとう。私はそれがほしいと思った。 –
私はあなたに答えを書く前にごくわずかです:1)ユーザーが登録されているかどうかをどのように識別しますか、あなたは 'RegisteredUser'テーブルを持っていますか? 2)あなたは 'BlogSetting'テーブルを見せましたが、リンクされたものは表示されません。 'BlogSetting'と' BlogPost'の親であるメインの 'Blog'テーブルはありますか? (ヒント:そこにあるはずです!)3) 'BlogBlockedUser'はどうやってそれに入りますか? – Jamiec
@Jamiecええ、私は 'RegisteredUser' table.Blogの着座は、ページが読み込まれたときの取得です。私の' sp'によって管理されます。 –