我一直想知道使用不同字段的帖子类型的最佳方法是什么。邮件的标签类型(标题,正文)将具有与照片不同的字段(标题,网址路径,描述)等。
理想情况下,我希望将它放在一个表帖子下,因为它更容易在视图中聚合。它可以使用jQuery显示和隐藏字段,但这会在数据库中留下冗余字段。
有关最佳解决方法的任何建议吗?
由于
答案 0 :(得分:1)
我建议
因此,对于适用于所有帖子类型的字段,它们存储在通用帖子表中。
然后,您可以使用帖子类型ID来查找其他字段,并根据帖子类型ID检索这些字段的数据。
所以你的通用邮政表看起来像
| id |标题| author_id |文字|
您发布的类型表将是
| id | post_type | < - post_type是一个字符串
让我们说你有一个需要日期字段的“日历”帖子类型。我们称之为照片发布类型。该表将被称为“calendar_post_fields”,而帖子类型将是“日历”。
| id | post_id |日期|
答案 1 :(得分:0)
首先要做的事情。您是否必须能够在运行时添加新的“类型”?这个问题的答案可能会使其他解决方案失效。
如果问题的答案是“否”,那么请使用庞大的解决方案。具有公共字段的基表,以及特定字段的单独表。特定表具有基表的外键。这样可以避免动态sql,避免冗余字段,并提供良好的查询性能。
除非上述解决方案无法满足您的需求,否则我不想提及其他解决方案。