一般CakePHP:hasMany toAndBelongsToMany

时间:2014-12-19 15:57:44

标签: php cakephp

我已经交了一个用CakePHP编写的网站进行修改,我很喜欢它!主题和文档很精彩;我喜欢代码的组织方式。

我的任务是修改两个表之间的数据库关系,从一对多到多对多;或者从“hasMany”到“hasAndBelongsToMany”的蛋糕术语。

我为多对多关系创建了新的中间表(在MySql数据库中),但是我想弄清楚从那里去哪里。

我是否应该在创建表格后进行烘焙?那会是最好的下一步吗?

找出我需要更改代码的每个文件的最佳方法是什么?我使用了Notepad ++并完成了Search-> Find In Files ...来查找代码中关系中某个表的名称。但是,由于数据被组织成MVC,我认为必须有一种更好的方法来识别我需要修改的代码的所有区域。我知道每个表都有一个视图,控制器和一个模型。这三个地方是否包罗万象;还是我还应该研究其他文件和文件夹?

(我对PHP中的MVC设计模式有点新鲜。我理解这个概念;但我习惯于将PHP和HTML全部放在一个文件中,并且能够在DW中看到视觉效果。所以拥有在MVC中组织的代码没有视觉效果,对我来说一直是学习曲线。)

非常感谢。

1 个答案:

答案 0 :(得分:1)

对于已经运行的应用程序,运行烘焙可能不是一个好主意。

除非你至少对这些表有一个非常直接的应用,否则这不是一个简单的任务。首先,您需要在触摸代码之前识别功能更改。要做到这一点,你需要很好地理解已经存在的逻辑。

您应该从涉及的两个模型开始。是否需要更改自定义查找和逻辑?然后去控制器并问同样的问题。确定您是否需要中间模型的模型。尝试了解更改对应用程序其余部分的影响。如果您正确识别这些,那么它就很容易适应变化。

不幸的是,您的milage可能会因代码的复杂程度而异。