简单的数据库注意事项和CakePHP

时间:2011-03-15 11:41:21

标签: mysql database model-view-controller cakephp

我正在考虑创建一个简单的游戏,以帮助我了解数据库设计和CakePHP。原因是游戏最终应该是可扩展的,这应该由MVC提供。

我正在努力探索正确的数据库设计,例如:

我有一个供用户使用的表格,只包含通常的详细信息等。

游戏中的每个用户都有一个军械库(存放武器),因此我的理解是用户和军械库表共享'有'关系。

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

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

1 个答案:

答案 0 :(得分:1)

首先,你应该记住cakePHP cookbook,它会帮助你,最重要的是如果你正在开始,那么你将接触到惯例,MVC ...

我从最后开始,在CakePHP中,表之间的关系与模型有关(是的,ModelViewController,第一个)。

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

关于外键,非常重要,因为一旦你拥有数据库,就可以“烘焙”(蛋糕为你生成代码)你的模型,视图和控制器。你可以用数据库的信息来做。

所以,我想说如果一个用户有一个军械库,你应该在你的军械库表中放置一个user_id字段,以查看谁属于这个军械库。

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

阿尔夫。