Не сохранять данные в 2 таблицы есть foreigenkey oncakephp

На проекте 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 people_id не сохраняются автоматически. Пожалуйста, помогите мне!

1 ответ

Насколько я помню, вам нужно добавить это в вашу модель 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);
Другие вопросы по тегам