为了账号安全,请及时绑定邮箱和手机立即绑定

无法使用 cakePHP 3.7 在多个表中保存数据

无法使用 cakePHP 3.7 在多个表中保存数据

PHP
慕码人2483693 2021-06-29 21:10:13
在将 Fisica 实体保存到数据库时,一直试图将数据保存到其他表中,因为我是 cakephp 的新手,现在似乎不可能,看过多个帖子、视频、文档,但似乎都没有。请有人帮我弄清楚这有什么问题。我在实体之间的关系中发现了一个巨大的错误,现在它是这样的:Fisica属于PessoaFisicasTable.php 上的关联$this->belongsTo('Pessoa')        ->setForeignKey('id_pessoa')        ->setJoinType('INNER')        ->setClassName('Pessoas');Fisicas 控制器$fisica = $this->Fisicas->newEntity();    if ($this->request->is('post')) {        $fisica = $this->Fisicas->patchEntity($fisica, $this->request->getData(),['associated' => 'Pessoa']);        if ($this->Fisicas->save($fisica))...Fisica add.ctp<legend><?= __('Add Fisica') ?></legend>    <?php        echo $this->Form->control('nr_cpf');        echo $this->Form->control('dt_nascimento');    ?>    <legend><?= __('Add Pessoa') ?></legend>    <?php        echo $this->Form->control('pessoa.vr_nome');        echo $this->Form->control('pessoa.nr_telefone');        echo $this->Form->control('pessoa.vr_email');    ?>我收到以下错误: 错误我希望在向 Fisica add.ctp 提交新寄存器时将这段代码插入到两个表中。
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

我发现我在命名数据库中的表与主键命名模式相结合时遇到了问题。只需将表的名称更新为“Fisicas”和“Pessoas”并将它们的主键和外键更改为 fisica_id 和 pessoa_id 并生成所有带有 bake 的代码(例如,cake bake all pessoas)解决了问题(并生成了关联自动地)。


查看完整回答
反对 回复 2021-07-02
  • 2 回答
  • 0 关注
  • 154 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信