将数据保存在多个表中

时间:2013-01-22 09:06:03

标签: cakephp

我有一个Products表和一个Products_Prices表。 Products_Prices表格包含以下字段product_id, size_id, price

在ProductsController的添加操作中我得到的数据就像。产品保存正在运行

但我不知道保存产品后如何获取新创建的产品的ID以及如何保存价格信息。

array(
    'id' => '',
    'name' => 'Pizza Salami',
    'description' => 'some description here',
    'active' => '1',
    'offered' => '1',
    'category_id' => '15',
    'Price' => array(
        (int) 0 => array(
            'size_id' => '2',
            'price' => '5'
        ),
        (int) 1 => array(
            'size_id' => '3',
            'price' => '6'
        ),
        (int) 2 => array(
            'size_id' => '4',
            'price' => '7'
        ),
        (int) 3 => array(
            'size_id' => '5',
            'price' => '9'
        )
    )
)

2 个答案:

答案 0 :(得分:1)

您检查了documentation吗?

您可以使用$id = $this->Model->id;

获取ID

您也可以使用$this->Model->saveAssociated($this->request->data);一次保存多个模型数据。

答案 1 :(得分:1)

如果 saveAll saveAssociated 无法将行插入表中,则可以使用 $this->ModelName->getLastInsertID();在您的表格产品中获取最后插入的ID。

相关问题