插入关联 table 后获取最后插入的 ID
Get last inserted ID after inserting to associated table
Employees
table 有一个名为 current_address_id
的字段。我正在向 Addresses
添加一个新地址,例如:
$updatedEntity = $this->patchEntity($employee, [
//some other fields
'user' => $userData,
'employees_phones' => $phonesData,
'employees_addresses' => $addressesData,
], [
'associated' => ['Users', 'EmployeesPhones', 'EmployeesAddresses']
]);
$this->save($updatedEntity);
我正在成功插入新地址,但现在我需要使用新地址 ID 更新 Employees.current_address_id
。我怎样才能做到这一点?
Table::save()
returns 具有更新 ID 的实体。因此,将 return 值存储在变量中并使用实体的适当 属性。
试试这个。对我有用。
$this->ModelName->save($updatedEntity);
$lastInsertedId = $updatedEntity->id;
只要尚未设置实体 ID,保存方法就会使用最后插入的 ID 更新实体。
Employees
table 有一个名为 current_address_id
的字段。我正在向 Addresses
添加一个新地址,例如:
$updatedEntity = $this->patchEntity($employee, [
//some other fields
'user' => $userData,
'employees_phones' => $phonesData,
'employees_addresses' => $addressesData,
], [
'associated' => ['Users', 'EmployeesPhones', 'EmployeesAddresses']
]);
$this->save($updatedEntity);
我正在成功插入新地址,但现在我需要使用新地址 ID 更新 Employees.current_address_id
。我怎样才能做到这一点?
Table::save()
returns 具有更新 ID 的实体。因此,将 return 值存储在变量中并使用实体的适当 属性。
试试这个。对我有用。
$this->ModelName->save($updatedEntity);
$lastInsertedId = $updatedEntity->id;
只要尚未设置实体 ID,保存方法就会使用最后插入的 ID 更新实体。