我正在尝试使用以下结构保存数据:
如您所见,用户和体验表之间存在 HABTM 关联。在experience_users和tags之间还有另一个 HABTM 。我创建了以下表格:
<?php echo $form->create('Experience', array('action' => 'addClassic'));?>
<?php
echo $form->input('Experience.date', array('dateFormat' => 'DMY'));
echo $form->input('Experience.time', array('timeFormat' => '24', 'empty' => array(-1 => '---'), 'default' => '-1'));
echo $form->input('Experience.name');
echo $form->input('ExperiencesUser.1.note');
echo $form->input('ExperiencesUser.1.rating');
//echo $form->input('Tags.Tags', array('multiple' => 'multiple', 'options' => $tags));
//echo $form->input('ExperiencesUser.1.Tags', array('multiple' => 'multiple', 'options' => $tags));
//echo $form->input('ExperiencesUser.1.Tags.Tags', array('multiple' => 'multiple', 'options' => $tags));
echo $form->input('ExperiencesUser.1.confirmed', array('type' => 'hidden', 'value' => '1'));
echo $form->input('ExperiencesUser.1.user_id', array('type' => 'hidden'));
echo $form->input('ExperiencesUser.2.user_id', array('type' => 'hidden'));
?>
<?php echo $form->end(__('Add', true));?>
一切正常。saveAll方法创建新体验,将这种新体验分配给两个用户(通过 Experience_users )并设置周围的东西。
困扰我的是,我想为新创建的experience_users记录(第一个)分配一些标签。我想,这应该通过一些评论的东西来完成。此注释代码的每一行都会创建表单并将数据发送到$this->data,但它永远不会被保存。
所以我的问题是:在我的示例中,将数据保存到experience_users_tags中的$this->data或$form->input的正确语法是什么?