Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存关联数据cakephp 3时出错_Cakephp_Cakephp 3.0 - Fatal编程技术网

保存关联数据cakephp 3时出错

保存关联数据cakephp 3时出错,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我无法使用cakephp 3关联保存数据 地址表 $this->hasMany('Addresses', [ 'foreignKey' => 'address_header_id' ]); 可寻址 $this->belongsTo('AddressHeaders', [ 'foreignKey' => 'address_header_id', ]); 控制器代码 $data = [

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

地址表

$this->hasMany('Addresses', [
            'foreignKey' => 'address_header_id'
        ]);
可寻址

$this->belongsTo('AddressHeaders', [
            'foreignKey' => 'address_header_id',
        ]);
控制器代码

$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下保存多个地址。当我运行上述代码时,它会在地址头中创建entry,但不会在地址表中创建任何条目。

您的数据结构应如下所示:

$data = [
    'user_id' => 1,
    'company_id' => 4,
    'addresses' => [
        [
            'user_id' => 1,
            'company_id' => 4,
            'name' => 'Aneh'
        ]
    ]
];

当保存多个关联时,ORM需要一个实体数组 以复数形式命名,带有下划线的协会名称


谢谢回复,但仍然数据未保存请检查sql日志您的地址需要在数组中
'addresses'=>[0=>$address1,1=>$address2]
您好,请检查此要点是否有任何错误,您可以跟踪,但仍然数据未保存在地址表中请检查我的要点。我已使用您的代码成功保存了数据。感谢您的时间,我发现我的错误是由于实体造成的。谢谢