Cakephp копирует данные из одной формы в две таблицы базы данных - PullRequest
0 голосов
/ 09 февраля 2012

Как разместить данные из одной формы в две таблицы базы данных в одной базе данных?где поля имеют одинаковые имена в обеих таблицах.

Например, у меня есть следующие таблицы:

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

Поэтому в основном я пытаюсь разместить следующие значения в обеих таблицах: тип и имя.

где a_id в b - это идентификатор a.

Я использую cakephph.Может кто-нибудь, пожалуйста, помогите.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Допустим, у вас есть две модели: «Магазин» и «Продукт», и не имеет значения, связаны они или нет.

На вашем Представлении вы можете сделать это:

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

0 голосов
/ 09 февраля 2012

, если вы хотите получить значения из таблицы а, используйте его как ..

a.type, a.name, a.age

, если вы хотите получить значения иззатем используйте таблицу b, как ..

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

...