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

时间:2019-02-16 17:04:49

标签: cakephp-3.0

Tablas relacionadas

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

1 个答案:

答案 0 :(得分: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.