Cakephp将数据从一个表单复制到两个数据库表

时间:2012-02-09 06:45:12

标签: cakephp cakephp-1.3 cakephp-appmodel

如何将数据从一个表单发布到同一数据库中的两个数据库表?其中两个表中的字段具有相同的名称。

例如,我有以下表格:

a {id, type, name, age}
b{id,a_id,type,name}

所以基本上我试图将以下值发布到两个表:type和name。

其中b中的a_id是a的。

我正在使用cakephph。任何人都可以帮忙。

感谢。

2 个答案:

答案 0 :(得分:0)

如果你想从表a中获取值,那么就像使用它一样..

a.type,a.name,a.age

如果你想从表b中获取值,那就像使用它一样..

b.a_id,b.type,b.name,b.age

答案 1 :(得分:0)

假设您有两个名为Store and Product的模型,如果它们相关与否则无关紧要。

查看上,您可以执行此操作:

echo $this->Form->create('Store');    
echo $this->Form->input('Store.name');    
echo $this->Form->input('Store.location');    
echo $this->Form->input('Product.name');    
echo $this->Form->input('Product.type');    
echo $this->Form->end('Save');

StoresController 上你应该这样做,以保存两个模型数据:

// CakePHP 1.3    
$this->Store->save($this->data['Store']);
$this->Product->save($this->data['Product']);

// CakePHP 2.0  
$this->Store->save($this->request->data['Store']);
$this->Product->save($this->request->data['Product']);

如果他们是相关的模型,您可以通过一个简单的呼叫保存两者:

$this->Product->saveAll($this->data); // CakePHP 1.3

$this->Product->saveAssociated($this->request->data); // CakePHP 2.0

不要忘记查看文档:

CakePHP 1.3 - http://book.cakephp.org/1.3/en/view/1031/Saving-Your-Data

CakePHP 2.0 - http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveassociated-array-data-null-array-options-array