【发布时间】:2023-04-02 13:09:01
【问题描述】:
我会尽量保持简单和重点。基本上我有一个新闻提要和一个 cmets 部分。 cmets 部分有两层:响应和对响应的回复。对于给定的新闻帖子,基本上是这样的结构:
-> comment
---> reply
---> reply
每条评论可以有多个回复。显然,这样做的错误方法是对每条评论进行 SQL 查询,以检查回复并列出它们。 EDIT 评论只有1层回复,即回复不能有回复。 - 谢谢约翰P
我对此类查询的问题:
我应该将 cmets 和回复保存在单独的表中并使用 JOIN,还是可以将回复和 cmets 保存在同一个表中并使用限定符来分隔类型?
我应该尝试使用查询对它们进行排序还是将所有数据拉入一个数组并以这种方式排序和显示?
我的表格目前如下:
ID (unique, auto increment)
NEWS_ID (ties the comment to a particular news post)
REPLY_ID (ties the comment to a parent comment if it is a reply to another comment)
USER_ID
BODY
PUBLISHED_DATE
任何比我聪明的人的建议将不胜感激!我仍处于完全理解 JOINS 和其他更高级别的 mysql 查询结构的早期阶段。 (即:我很擅长 mysql,但我正在学习 :)
【问题讨论】:
-
cmets/replies 是否仅嵌套到 1 级?意思是,回复可以有回复吗?
-
感谢 JohnP 的回复:我们将 cmets 限制为 1 层回复(所以不,回复不能有回复)。
标签: php mysql join normalization