CakePHP - 通过关联保存hasMany

时间:2013-05-22 21:27:45

标签: cakephp

我目前正试图弄清楚如何通过关系保存一个hasMany。

我的表是:

卡: id, name

颜色: id, name, color

card_colors(与模型CardColor相关联): id, card_id, color_id, cost

hasMany通过协会:

Card hasMany CardColor
Color hasMany CardColor
CardColor belongsTo Card
CardColor belongsTo Color

Card::beforeSave()中,我将重建我的$data变量,使其具有以下结构:

array(
'Card' => array(
    'name' => 'theCard',
    'CardColor' => array(
        array(
            'card_id' => 4,
            'color_id' => 5,
            'cost' => 2
        ),
        array(
            'card_id' => 5,
            'color_id' => 2,
            'cost' => 3
        )
    )
)
)

但是,我不知道如何获取我当前插入的卡的card_id。是否有更多的Cake-y方式通过关联保存hasMany(例如在保存时以某种方式自动获取卡ID)?

1 个答案:

答案 0 :(得分:1)

试试这个:

  • 在模型中使用$ this-> Card-create()//或只是$ this-> create()
  • 在Card :: beforeSave()中,不要设置索引CardColor [i] [card_id]
  • 以这种方式保存:$ this-> saveAssociated($ data)
相关问题