在我的应用程序中,我有许多控制器常用的方法。 起初我将它们复制到控制器,然后我发现我必须把它们放在AppController中。 所以我。通过“$ this-> commonmethod”
从派生控制器中获取这些方法我放入AppController的方法会创建不同类型的数据, 所以我需要将它们放在我的数据库中的4-5个不同的表中。 大多数表彼此之间没有关系。
但是我的大多数控制器都会使用这些表来为它们获取相关数据。
(我查看了食谱中的例子,有关于博客的例子, 类别和标签。表格之间有关系)
提前谢谢
答案 0 :(得分:1)
最好的方法是(如果可能的话)重新设计数据库,因为在cakephp中,一个好的数据库设计可以解决一半的问题。如果这不可能,则第二个使用组件,并使用此组件,您可以使用多个数据库表。
答案 1 :(得分:1)
很难说最好的方法是什么,因为我们对数据库结构,控制器方法的作用以及它们的使用方式知之甚少。
但你的一个问题很简单:
是否可以使用来自控制器或组件的多个数据库表?
是的,这是可能的。只需为每个表创建一个模型(如果cake无法从您的模型名称中自动检测到表名,请使用public $useTable = 'tablename
)。然后,在AppController
中(考虑到您的代码将保留在那里),请使用:
public $uses = array('List', 'all', 'models', 'you', 'need');