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


Two Views/Controllers on one page?

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

我有两个表:

  • tea_types(茶型及其浸泡时间列表)
  • steep_logs(浸泡着茶的历史)

对于每个表,我都有一个模型,一个视图和一个工作正常的控制器。现在我想做一个索引.php我想在其中组合三个元素:

  • 类型(操作:编辑、删除、添加、单击以启动茶计时器)
  • TeaTimer (当传递茶类型时,应该开始倒计时 - 我想用 JavaScript 做到这一点)
  • 陡日志(每个选择的茶都应该添加到表中,并显示最后20个条目)
这些元素

中的每一个都已准备就绪,但不是在一个视图中组合这些元素。我必须制作一个额外的控制器来组合这 3 个元素吗?没有模型的控制器是否可能或明智?

这两个控制器也相互关联:

  • 茶型有很多陡峭的原木
  • 陡原木属于茶型

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

为了遵循约定,你的表名应该是tea_typessteep_logs的,它们的模型应该是TeaTypeSteepLog的,控制器应该是TeaTypesControllerSteepLogsController的。

如果没有您的模式,我无法确切地告诉您如何按照约定设置模型关联,但是,从逻辑上讲,我认为TeaType hasMany SteepLogSteepLog belongsTo TeaType。您可以从博客教程或 Cake 书中找到如何定义架构以适应模型关联约定,该主题太长,无法在此处进行总结。

定义模型关联后,您将能够根据需要从两个控制器查找和操作这两个模型。