我与另一个模型有一个模型和hasMany
关系。
单个字段数据保存到主模型,下拉选择输入的数据应保存到关联模型。
当我尝试手动创建数组并使用saveAll
时,一切正常并且数据已保存。但是选择输入的问题在其名称中。正确的格式是:
array(
'Article' => array('title' => 'My first article'),
'Comment' => array(
array('body' => 'Comment 1', 'user_id' => 1),
array('body' => 'Comment 2', 'user_id' => 12),
array('body' => 'Comment 3', 'user_id' => 40),
),
)
创建选择列表并传递options数组时,我们只能将标记名称设置为Comment.body
,但我们必须使用Comment.0.body
,Comment.1.body
等。
因此,Cake无法读取帖子数据的格式以成功使用saveAll
。
是否有人遇到此问题 - 生成具有正确名称和值的多个选择输入?
答案 0 :(得分:2)
通过切换为$hasAndBelongsToMany
关系来解决问题。
答案 1 :(得分:0)
你是如何制作表格的?正确的格式是你说的第二个Comment.0.body
。为此你需要这样的东西:
echo $this->Form->input('Comment.0.body');
echo $this->Form->input('Comment.1.body');
将生成:
<input type='text' id='Comment0Body' name="data[Comment][0][body]" />
<input type='text' id='Comment1Body' name="data[Comment][1][body]" />