1

我正在处理评论,我必须显示回复的数量,而评论回复的列表是第 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');

请帮助我如何获取回复的数量。

4

1 回答 1

0
SELECT COUNT (*) FROM `comment` WHERE parent_comment_id = :id

会给你回复评论的数量:id。如果您需要整个线程中的评论数,则需要多次执行此查询,为 . 传递不同的值:id。或者,您可以使用嵌套集来存储父子关系。

于 2012-10-23T12:24:35.133 回答