创建一个带关联的表单

时间:2013-07-18 21:47:42

标签: cakephp

假设我有一个带有A hasMany B的模型A和B.我想创建一个表单以允许用户添加模型A的实例,同时还能够添加尽可能多的(关联的)实例模特B.

但是,使用表单帮助程序在表单中执行echo $this->Form->input('A.B.some_field')之类的操作并不具有所需的效果。正确地做这件事的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

关键是要提供与find('all') / saveAll($data)

格式匹配的表单数据

您需要以下内容:

echo $this->Form->create('A');
echo $this->Form->input('A.id');

echo $this->Form->input('B.0.some_field');
echo $this->Form->input('B.1.some_field');
...

echo $this->Form->submit();
echo $this->Form->end();

这将生成与saveAll期望的格式相同的数据