我正在撰写评论,我必须在评论列表时显示回复的计数 回复是第n级,如
parent
->child
-> child
-> child
Parent
-> child
->child
->child
我的Sql是:
CREATE TABLE IF NOT EXISTS `comment` (
`comment_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'This is primary key of the table',
`parent_comment_id` bigint(11) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`comment_id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
INSERT INTO `comment` (`comment_id`, parent_comment_id`, `text`) VALUES
(1, 0, 'Parent'),
(2, 1, 'child'),
(3, 2, 'child'),
(4, 3, 'child'),
(5, 1, 'child2'),
(6, 0, 'Parent2'),
(7, 6,'child of parent2');
请帮我解释如何获取回复的数量。
答案 0 :(得分:0)
SELECT COUNT (*) FROM `comment` WHERE parent_comment_id = :id
将为您提供评论:id
的回复数量。如果您需要整个线程中的注释数,则需要多次执行此查询,并为:id
传递不同的值。或者,您可以使用Nested Sets来存储父子关系。