我无法使用cakephp 3关联保存数据
AddressHeadersTable
$this->hasMany('Addresses', [
'foreignKey' => 'address_header_id'
]);AddressesTable
$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下保存多个地址。当我运行上面代码时,它在address_header中创建了entry,但没有在addresses表中创建任何条目。
发布于 2018-03-12 15:13:53
你的数据结构应该是这样的:
$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需要使用关联名称
的复数下划线版本命名的实体数组
https://stackoverflow.com/questions/49229158
复制相似问题