CakePHP将数据保存在多个表中

时间:2013-01-21 14:53:17

标签: cakephp

我有像

这样的商店结构

1:Shop有很多Categories

2:Categories有1到多个SizesProducts

3:每个product只属于一个Category

4:由于Sizes属于Categories,因此属于product的每个category都具有相同的尺寸。

现在我的问题出现在产品添加表单中。

我已经形成了包含产品的输入字段和一个选择框来选择Category

一旦我选择了一个类别,就会创建一个Ajax请求,它将sizes作为分配给所选类别的输入框返回。输入框将用于输入价格 对于每种尺寸的产品。 (由于输入字段将在Ajax中生成,我如何使用表单助手?)

现在我想要点击保存按钮,产品信息应存储在产品表中,价格应保存在

Product_Prices表,其中包含product_id, size_id, price列。

我应该如何命名我的输入框?我应该如何调用save方法以便正确保存信息?

1 个答案:

答案 0 :(得分:2)

保存一个

//$this->Form->create('Product');
$this->Form->input('category_id');

保存多种尺寸

//$this->Form->create('Shop');

$this->Form->input('category_id');

或使用复选框代替列表

$this->Form->input('category_id', array('multiple' => 'checkbox')); 

如果要将其他模型的属性与主模型一起保存,请将模型名称(别名)添加为前缀,并使用saveAssociated()saveAll()

echo $this->Form->input('ProductPrice.price');

请参阅:http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveall-array-data-null-array-options-array