一次创建并保存三个相关的表cakephp 3.7

问题描述 投票:0回答:1

Tablas relacionadas

在志愿者的添加视图中,我有3个表的形式。在注册时,我在People表中的'contact_id'字段有问题。它们是正确创建的,但我无法在Contacts表中创建新表单,因此cantacto_id字段不同。如何同时保存3个表?

cakephp-3.0
1个回答
0
投票

在您的表单中,有这样的字段:

echo $this->Form->input('direccion');
echo $this->Form->input('persona.nombre');
echo $this->Form->input('persona.voluntario.cv');

在你的Volunteer控制器中,有这样的代码:

if ($this->request->is(['patch', 'post', 'put'])) {
    $contact_table = TableRegistry::get('Contactos');
    $contact = $contact_table->patchEntity($contact, $this->request->data, [
        'associated' => ['Personas' => ['Voluntarios']]
    ]);
    if ($contact_table->save($contact)) {
        // etc.
© www.soinside.com 2019 - 2024. All rights reserved.