2011-03-15 57 views
0

我想创建一个简单的游戏,以帮助我解决数据库设计和CakePHP问题。理由是游戏最终应该是可扩展的,应该由MVC提供。简单的数据库注意事项和CakePHP

我挣扎,我的头围绕一个正确的数据库设计,但例如:

我有用户表,只包含平时的细节等

在游戏中每个用户将有一个军械库(存储武器),所以我的理解是,用户和军械库表共享'有'的关系。

我的问题是外键应该放在哪里?如果有的话?我应该在用户表中有一个Armory外键还是在Armory表中有一个用户外键。或者我应该为两者之间的关系提供完全不同的表格?

另外,无论采用哪种方法,我如何在CakePHP中关联数据库的结构?

回答

1

首先,你应该记住CakePHP的cookbook,它会帮助你,尤其是如果你开始,所以你会与公约接触,MVC得到...

我从CakePHP开始,表之间的关系与模型(是的,ModelViewController,第一个)相关。

如果军械库有足够的逻辑作为模型本身,那么User和Armory之间的关系将是User hasOne Armory。但是,例如,如果一个用户可以有多个用户,那么它将是User hasMany Armories。我不知道你的情况,只是猜测。

关于外键,非常重要,因为一旦拥有数据库,您就可以“烘烤”(蛋糕为您生成代码)模型,视图和控制器。你用数据库的信息做它。因此,如果用户拥有一个军械库,则应该在您的军械库表中放置一个user_id字段,以查看这个军械库属于谁。

希望它有帮助,我没有CakePHP的经验,但这是基础知识。我强烈建议你至少阅读食谱中最重要的部分。

Alf。

+0

干杯,我的困惑是是否有用户表中的军械库参考,反之亦然。尽管如此,让它在武器表中更有意义 – 2011-03-15 13:01:53