嵌套评论背后的算法是什么?

ilh*_*han 3 php algorithm database-design comments

我想学习Reddit背后的评论显示算法。评论与它的孩子等有什么关系?它们是如何存储在数据库中的?

可以说

comment1
-comment2
--comment3
-comment4
--comment5
--comment6
---comment7
----comment8
comment9
Run Code Online (Sandbox Code Playgroud)

如何显示在comment1之后的comment4之后的comment5?这种排序背后的想法是什么?以及如何在数据库中关联它们?

Tad*_*eck 5

它被称为层次结构。每个评论要么没有父评论,要么有一个父评论。通过这种方式,您可以显示每个“顶级”评论(由于他们没有父评论),然后是每个评论的子评论等等。

表的数据库结构可能如下comments所示:

  • id 字段标识单个评论,
  • parent_id是否设置为父母的 ID 或未设置(设置为NULL或设置为0),
  • created - 创建评论的时间戳,
  • content - 实际评论内容,
  • 您需要的任何其他字段,