在这个cakeHP视图中,数据是如何传递给这个HTML助手方法的


How is data being passed to this HTML helper method in this cakePHP view?

我正在取消某人用CakePHP编写的项目。我熟悉MVC模式,只是不熟悉Cake。

生成的HTML是一个选择下拉列表。此下拉列表的数据来自控制器,分配如下:

$this->set(compact('venues', 'eventTypes', 'positions', 'hms'));

其中$hms是包含select元素的数据的数组(通过对模型的查询定义)。然而,在视图中,这是我对下拉列表的全部内容:

echo $this->Form->input('Event.hm_id', array('label' => 'House Manager', 'empty' => '(none)', 'class' => 'chzn-selectaaa'));

在我看来,我希望看到一些关于hms美元价值的参考。HTML表单帮助程序从哪里获取数据来构建下拉列表?

在将hms数组映射到hm_id的输入Form帮助程序上会发生一些自动连接魔法。

这篇CakePHP文档应该可以帮助您了解魔术是如何实现的。这一切都基于DB中的表和字段以及模型本身的命名约定。

http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#creating-表单元素

这也是API文档。

http://api.cakephp.org/2.6/class-FormHelper.html#_input

我希望这能有所帮助。