HABTM现在在连接表中有附加数据吗?

时间:2013-10-28 14:07:54

标签: cakephp has-many-through has-and-belongs-to-many

我是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”)?

如果是这样,怎么样?截止到目前为止,我得到的最接近NULLamount插入,或插入的金额代替recipes_id

如果没有,如何将HABTM设置转换为hasMany?我还要感谢一个好的和最新的教程,它解释了如何设置它,因为我没有真正得到这本食谱所写的内容。

由于

1 个答案:

答案 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