CakePHP-通过关联保存hasMany

CakePHP-通过关联保存hasMany,cakephp,Cakephp,我目前正试图找出如何通过这种关系来拯救一个hasMany 我的桌子是: 卡片: id, 名称 颜色: id, 名称 颜色 卡片颜色(与型号CardColor关联): id, 卡号, 颜色标识, 成本 通过联想有很多人: Card hasMany CardColor Color hasMany CardColor CardColor belongsTo Card CardColor belongsTo Color 在Card::beforeSave()中,我将重建$data变量,使其具有以下结构

我目前正试图找出如何通过这种关系来拯救一个hasMany

我的桌子是:

卡片:
id,
名称

颜色:
id,
名称
颜色

卡片颜色(与型号CardColor关联):
id,
卡号,
颜色标识,
成本

通过联想有很多人:

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
        )
    )
)
)
但是,我不知道如何获取我当前插入的卡的卡号。是否有更简单的方法通过关联保存hasMany(例如在保存时以某种方式自动获取卡id)?

尝试以下方法:

  • 在模型中使用$this->Card-create()//或仅使用$this->create()
  • 在Card::beforeSave()中,不要设置索引CardColor[i][Card\u id]
  • 按以下方式保存:$this->saveAssociated($data)

非常感谢,我在saveAll()方法中使用了
array('deep'=>true)
而不是使用
saveAssociated($data)