我是CakePHP的新手,我想将其他数据保存到我的HABTM连接表中。我已经读过了,为此应该切换到hasMany through
,但蛋糕食谱中还有以下注释:
Changed in version 2.1.
You can set unique setting to keepExisting circumvent losing extra data during the save operation. See unique key in HABTM association arrays.
这听起来好像从2.1开始就有可能。 (我使用最新的2.4.2)关于这一点的每个问题('如何在HABTM关系中保存额外数据')至少有两年的历史。那么现在可以在HABTM连接表中保存其他数据,例如'ingredients_recipes.amount'(“20ml牛奶为whatEverRecipe”)?
如果是这样,怎么样?截止到目前为止,我得到的最接近NULL
为amount
插入,或插入的金额代替recipes_id
。
如果没有,如何将HABTM设置转换为hasMany?我还要感谢一个好的和最新的教程,它解释了如何设置它,因为我没有真正得到这本食谱所写的内容。
由于
答案 0 :(得分:0)
我的数据
阵列( [食谱] =>排列 ( [id] => 58 ) [成分] =>排列 ( [金额] => 50 cl [名称] =>乳 ))
我的观点
<?php echo $this->Form->create('Ingredient');?>
<?php echo $this->Form->input(
'Recipe.id',
array('type' => 'hidden', 'value' => $recipe_id)); ?>
<?php echo $this->Form->input('Ingredient.name'); ?>
形状配合&GT;输入( 'Ingredient.amount'); ?&GT;
Form-&gt; end('添加成分'); ?&GT;
我的功能添加
public function add() {
//save habtm
if ($this->Ingredient->save($this->request->data)) {
}
}
使用此代码,您将与食谱相关联金额
在蛋糕簿上找到此代码:And ctrl+f habtm