我正在考虑创建一个简单的游戏,以帮助我了解数据库设计和CakePHP。理由是游戏最终应该是可扩展的,这是MVC应该提供的东西。
然而,我正在努力弄清楚一个正确的数据库设计,例如:
我有一个用户表,只包含通常的细节等。
游戏中的每个用户都有一个武器库(储存武器),因此我的理解是,用户和武器库表共享“有”关系。
我的问题是外键应该放在哪里?如果真的是这样呢?应该在用户表中有一个Armoury外键,还是在Armoury表中有一个User外键。或者我应该有一个完全不同的表来描述两者之间的关系?
另外,不管采用哪种方法,如何在CakePHP中关联数据库的结构呢?
发布于 2011-03-15 20:11:49
首先,您应该记住cakePHP cookbook,它将帮助您,最重要的是,如果您刚开始,那么您将接触到约定,MVC...
我从最后开始,在CakePHP中,表之间的关系与模型(是的,ModelViewController,第一个)相关。
如果军火库有足够的逻辑作为模型本身,那么用户和军火库之间的关系就是用户hasOne军火库。但是,例如,如果一个用户可能有多个用户,那么它将是用户hasMany库。我不知道你的情况,只是猜测。
关于外键,这是非常重要的,因为一旦你有了数据库,你就可以“烘焙”(蛋糕为你生成代码)你的模型,视图和控制器。你可以利用数据库的信息来做这些事情。
所以,我会说,如果一个用户hasOne军火库,你应该在你的军火库表格中放置一个user_id字段,看看这个军火库属于谁。
希望对你有所帮助,我在cakePHP方面没有经验,但这是基础知识。我强烈建议你至少阅读食谱中最重要的部分。
阿尔夫。
https://stackoverflow.com/questions/5311190
复制相似问题