首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修改评论系统的前序遍历

问修改评论系统的前序遍历
EN

Stack Overflow用户
提问于 2009-06-14 16:46:02
回答 2查看 441关注 0票数 0

我正在试着为博客做一个评论系统。我已经使用了修改后的预订单遍历系统(使用本指南:http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/)。

不过,我有一些问题。我不认为该指南解释了如何管理不同的博客帖子,并添加了一个不是回复的评论。

我的评论表格如下所示:

代码语言:javascript
复制
+-------------+----------------------+-----+-----+

| comment_id  | message              | lft | rgt |
auto increment
+-------------+----------------------+-----+-----+

这是一个很好的管理方法吗:

我在comments表中添加了名为"blog_post_id“和"root”的列。当我写一篇博客文章时,我会在comments表中添加一个条目,并将blog_post_id设置为true。然后,左边是comment_id,右边是comment_id + 1。

要加载博客帖子的评论,我会找到blog_post_id =x和root = true的lft和rgt,然后选择blog_post_id为x的lft和rgt之间的所有评论...

我刚刚想出了这个方法,所以我非常确定一定有更好的方法。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2009-06-14 18:32:08

添加一个blog_post_id列并将博客帖子本身视为虚拟评论(评论树的根)如何?然后,它可以有多个子级。

使用这种方法,您可以原封不动地使用该文章中的所有算法,但需要注意的是,您将AND blog_post_id == foo添加到所有查询中,并始终忽略根注释(因为它代表博客本身)。

票数 0
EN

Stack Overflow用户

发布于 2009-06-14 20:06:39

你“想出”了一个非常好的方法。这是管理嵌套注释的标准方式。关于这一点和实现的文献也很多。

请看这里的示例实现:http://api.rubyonrails.org/classes/ActiveRecord/Acts/NestedSet/ClassMethods.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/993187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档