不保存数据到2表在cakephp中有外键
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不保存数据到2表在cakephp中有外键相关的知识,希望对你有一定的参考价值。
关于项目cakephp。我有2个型号
<?php class VisaPerson extends AppModel {
public $name = 'VisaPerson';
public $primaryKey = 'id';}?>
和
<?php class VisaProcess extends AppModel {
public $name = 'VisaProcess';
public $primaryKey = 'id';
public $belongsTo = array(
'VisaPerson' => array (
'className' => 'VisaPerson',
'foreignKey' => 'people_id'
)
);
}
?>
在控制器中,我写道:
if ($this->request->is('post')) {
if (!empty($this->request->data)) {
$person = $this->VisaPerson->save($this->request->data);
if (!empty($person)) {
$this->request->data['VisaProcess']['people_id'] = $this->$person->id;
$this->VisaPerson->VisaProcess->save($this->request->data);
}
}
保存在VisaPerson上的数据,但是VisaProcess上的数据不能自动保存。请帮助我!
答案
我记得你需要将它添加到你的VisaPerson模型中:
public $hasMany = array(
'VisaProcess' => array(
'className' => 'VisaProcess',
'foreignKey' => 'people_id'
)
);
之后你只需要保存VisaPerson并且两个表都将被填充(如果存在$this->request->data['VisaProcess']
和$this->request->data['VisaPerson']
):
$this->VisaPerson->save($this->request->data);
以上是关于不保存数据到2表在cakephp中有外键的主要内容,如果未能解决你的问题,请参考以下文章