评论和回复放一张表里好,还是分表好?求解

2022-04-14 15:01:15 +08:00
 zzztongxue
前端结构是楼中楼的形式,之前决定放一张表里,现在实践过程中发现放一张表 restful 形式的 api 不好设计
3128 次点击
所在节点    问与答
27 条回复
XiLingHost
2022-04-14 15:04:09 +08:00
你把评论看成一种特殊的回复不就好了
zzztongxue
2022-04-14 15:11:40 +08:00
@XiLingHost 之前就是这样考虑的,但是接口不太好写
seakingii
2022-04-14 15:12:50 +08:00
@zzztongxue 哪里不好写呢?
wunonglin
2022-04-14 15:14:13 +08:00
回复不就是评论的一种么。。。
XiLingHost
2022-04-14 15:21:48 +08:00
@zzztongxue 有什么不好写的,restful 形式的话那就是直接把对象的 json 返回到前端就行了,你可以把评论和回复的模型统一,然后把评论的回复对象指向文章,回复的回复对象指向评论或回复,接下来就是前端渲染的活了
oneisall8955
2022-04-14 17:08:01 +08:00
怀疑你是不是我司的,现在就在做评论需求,今天提测,明天上线呢
oneisall8955
2022-04-14 17:08:49 +08:00
@oneisall8955 #6 不对,我这没`回复`楼中楼功能~
fiypig
2022-04-14 17:15:56 +08:00
链表嘛
wonderfulcxm
2022-04-14 18:55:56 +08:00
一般楼中楼要用到递归
unnamedhao
2022-04-14 18:57:39 +08:00
不放一张表更不好写
DuDuDu0o0
2022-04-14 19:12:55 +08:00
@oneisall8955 今天提测,明天上线。 测了个寂寞?
whusnoopy
2022-04-14 19:14:48 +08:00
做过 BBS 维护,你这个情况多加几个 id 是不是就能解决

首先回复和评论隶属的主贴叫 topic_id ,然后每个回复或评论都有自己独立的 post_id ,如果是楼中楼,每层楼的 reply_id 是他上一级楼的 post_id ,如果就是主楼 reply_id 置空或也指向自己 post_id 都可以,然后楼中楼所有楼都增加一个 thread_id 指向楼中楼的主楼

```
topic_id1
+- topic_id_1, post_id_2, reply_id_2, thread_id_2
|+- topic_id_1, post_id_3, reply_id_2, thread_id_2
||+- topic_id_1, post_id_4, reply_id_3, thread_id_2
|+- topic_id_1, post_id_5, reply_id_2, thread_id_2
|+- topic_id_1, post_id_6, reply_id_2, thread_id_2
+- topid_id_1, post_id_7, reply_id_7, thread_id_7
```

这个灵魂描述看能不能看懂
akira
2022-04-14 19:27:14 +08:00
把所有的帖子都视为一个不存在的帖子的回复,那不就统一起来了么
oneisall8955
2022-04-14 19:27:45 +08:00
@DuDuDu0o0 #11 说起来就来气,公司的节奏,创业团队,一年多了还这样。美其名为敏捷开发,快速迭代
tuutoo
2022-04-14 22:39:53 +08:00
放一个表 一个评论或者回复就是一条记录,有自己的唯一 id 。
加一列 reply_id 或者 parent_id 指向 @的评论或者回复的 id 。
这样应该就能达到你说的效果了吧。
Win7GM
2022-04-15 02:14:00 +08:00
@oneisall8955 #14 草....听起来像是披着敏捷的皮瞎搞
janda
2022-04-15 07:46:17 +08:00
递归
murmur
2022-04-15 09:07:10 +08:00
@wonderfulcxm 楼中楼不需要递归,现在的 bbs 就是直接复制别人的东西
murmur
2022-04-15 09:08:05 +08:00
我觉得你们都设计复杂了,回复的引用是复制内容,然后只能对楼层评论,这哪里是递归啊

nga 、百度贴吧都是这种设计
murmur
2022-04-15 09:09:14 +08:00
而且考虑 ui 展示,评论是只能输文字,回复可以是富文本

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846940

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX