一页上有两个视图/控制器?

时间:2015-02-01 11:02:14

标签: php cakephp model-view-controller

我是CakePHP的新手。到目前为止,我设法建立了一些视图,控制器和模型。这是我的问题:

我有两张桌子:

  • tea_types(带有陡峭时间的Teatypes列表)
  • steep_logs(浸泡过的茶的历史)

对于每个表我都有一个模型,一个视图和一个工作正常的控制器。 现在我想创建一个index.php,我想要结合三个元素:

  • TeaTypes(操作:编辑,删除,添加,单击以启动teatimer)
  • TeaTimer(当通过teatype倒计时应该开始 - 我想用JavaScript做这件事)
  • SteepLo​​g(选中的每一茶都应添加到表中,最后20个条目应显示)

这些元素中的每一个都已准备就绪,但在一个视图中并不是这些元素的组合。我是否需要制作一个结合了这3个元素的额外控制器?没有模型的控制器是否可行或明智?

两个控制器也相互关联:

  • TeaType hasMany SteepLo​​g
  • SteepLo​​g属于TeaType

我认为解决方案并不困难,但我知道最佳做法是什么。

1 个答案:

答案 0 :(得分:1)

要遵循惯例,您的表名称应为tea_typessteep_logs,其模型应为TeaTypeSteepLog,控制器应为{{1} }和TeaTypesController

如果没有您的架构,我无法准确地告诉您应如何按惯例设置模型关联,但从逻辑上讲,我会认为SteepLogsControllerTeaType hasMany SteepLog。您可以了解如何定义架构以适应博客教程或Cake书中的模型关联约定,该主题太冗长,无法在此总结。

一旦定义了模型关联,您就可以根据需要从两个控制器中找到并操作这两个模型。