【发布时间】:2017-07-31 19:34:36
【问题描述】:
祝所有阅读本文的人都好。我确实需要关于我正在从事的项目的建议。 我对 PHP 和 MySQL 编程比较陌生,听说从事项目工作是提高技能的最佳方式。
该项目是一个简单的公告项目,用户可以登录注册新公告。 现在,每个公告都基于一个类别,例如生日、婚礼、社交活动、法庭听证会等。
我目前正在关注的一件事是 MYSQL 表结构的外观。 例如,如果用户想要发布生日帖子,则用户点击的所有内容都是生日并填写包含相关信息的表单。如果用户想要发布婚礼帖子,则用户点击婚礼并填写包含相关信息的表单。
但是,按照我的设置方式,每个公告都有不同的数据表。 即,每种公告类型都存储在自己的表中。
例如,对于生日,我使用 BirthdaysController 创建了一个生日模型
对于婚礼,我使用 WeddingsController 创建了一个婚礼模型。
为了毕业,我用 GraduationController 创建了一个 Graduation 模型。
但有些公告具有相似的属性,例如名称、标题等。
但这意味着重复大量代码,因为它们具有相似的属性,例如生日公告很可能类似于毕业公告。
我的第一个问题是如何限制我必须创建的表的数量并减少代码,使其看起来不重复。
在我看来,我的模型和控制器太多了。更重要的是,我发现我在重复代码,在 Laracast 的“面向对象训练营”中,我清楚地记得 Jeff 说过这是一种不好的做法。 所以我真的在寻找更好的方法来做到这一点。 我知道这很长,但我确实需要帮助。
谢谢。
【问题讨论】:
-
我认为将它们分开绝对没问题。第二个你需要添加一些关于任何公告的更具体的信息,你会很高兴你将它们分开。如果有几个字段是共享的,我认为这不足以构成一个共享这些信息的复杂系统。
标签: php mysql laravel database-design