首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存关联数据cakephp %3时出错

保存关联数据cakephp %3时出错
EN

Stack Overflow用户
提问于 2018-03-12 14:17:36
回答 1查看 263关注 0票数 1

我无法使用cakephp 3关联保存数据

AddressHeadersTable

代码语言:javascript
复制
$this->hasMany('Addresses', [
            'foreignKey' => 'address_header_id'
        ]);

AddressesTable

代码语言:javascript
复制
$this->belongsTo('AddressHeaders', [
            'foreignKey' => 'address_header_id',
        ]);

控制器代码

代码语言:javascript
复制
$data = [
            'user_id' => 1,
            'company_id' => 4,
            'address' => [
                'user_id' => 1,
                'company_id' => 4,
                'name' => 'Aneh'
            ]
        ];

        $entity = $this->AddressHeaders->newEntity();
        $entity = $this->AddressHeaders->patchEntity($entity, $data, [
            'associated' =>['Addresses']
        ]);
        if($this->AddressHeaders->save($entity)){
            echo "save";
        }else{
            pr($entity->errors());
        }

我们需要在一个地址头id下保存多个地址。当我运行上面代码时,它在address_header中创建了entry,但没有在addresses表中创建任何条目。

EN

回答 1

Stack Overflow用户

发布于 2018-03-12 15:13:53

你的数据结构应该是这样的:

代码语言:javascript
复制
$data = [
    'user_id' => 1,
    'company_id' => 4,
    'addresses' => [
        [
            'user_id' => 1,
            'company_id' => 4,
            'name' => 'Aneh'
        ]
    ]
];

https://book.cakephp.org/3.0/en/orm/saving-data.html#saving-hasmany-associations

在保存hasMany关联时,ORM需要使用关联名称

的复数下划线版本命名的实体数组

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49229158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档