我正在创建一个单词老师:
我创建了一个包含多个表的数据库:
TblTheme (themeId, name);<br>
TblGroup (groupId, name, themeIdFK);<br>
TblWeek (weekId, week, groupIdFK);<br>
tblWord (wordId, word, weekIdFK);<br>
所以 themeIdFK、groupIdFK 和 weekIdFK 是外键。
在 PHP 中,我想显示所有主题。如果按下主题,则显示所有组等。 我应该创建什么类。 (如类(class)主题、小组、周和单词) 在不使数据库重载的情况下检索数据的最佳方法是什么?
最佳答案
首先,如果列包含相同的数据,那么它应该有相同的名称:
Themes (theme_id, name);
Groups (group_id, name, theme_id);
然后当你创建 JOIN 时,你可以把它写成
SELECT
Themes.name AS theme,
Groups.name AS group
FROM Themes
LEFT JOIN Groups USING theme_id
至于你原来的问题: 我会去上课:
- 老师 - 那将是您的 MVC 模型
- Word - 由模型使用,保存您的日常单词和一些关于它的附加信息
- WordMapper - 负责存储和检索 Word 类的实例
基本上这个设置会实现 DataMapper pattern .
没有必要为每个表创建一个类,因为额外的表只包含有关单词的信息。至少我是这么看的。
不过,我不太确定您是否需要制作一个复杂的应用程序,只是为了制作流行的东西......也许只是作为练习。
关于php - 最佳 OOP 实践 PHP/MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5809323/