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의 Seeting은 페이지가로드 될 때입니다. 내 'sp'가 관리합니다. –