[英]Nest Js TypeORM repository.update method not changing multiple fields of an object
在我的 Nest js 項目中構建了一個端點,當用戶提交旨在編輯現有組織的表單時,該端點會觸發此服務 function:
async updateOrganization(
organization: UpdateOrganizationDto,
): Promise<Organization> {
this.organizationRepository.update(organization.organization.id, {
lastChangedBy: organization.profile.id,
orgName: organization.organization.orgName,
orgLead: organization.organization.orgLead,
orgAsst: organization.organization.orgAsst,
from: organization.organization.from,
to: organization.organization.to,
teamWideReporting: organization.organization.teamWideReporting,
leadsAddTeamMembers: organization.organization.leadsAddTeamMembers,
leadsRemoveTeamMembers: organization.organization.leadsRemoveTeamMembers,
});
return organization.organization;
用戶可以在我們的 UI 上編輯 9 個可能的字段。 每當用戶點擊我們的更新組織(在此處使用 TypeORM PUT 請求)時,我希望后端對所有可能的字段執行檢查。
當我將此服務 function 設置為僅更改一個字段時,一切正常,例如:
async updateOrganization(
organization: UpdateOrganizationDto,
): Promise<Organization> {
this.organizationRepository.update(organization.organization.id, {
orgName: organization.organization.orgName
});
return organization.organization;
但是,我想要一個一站式商店來解釋對后端的單個請求中的所有可能更新。
我希望這只是一個簡單的 typeOrm 語法問題,我們將不勝感激,謝謝!
確保等待從.update()
:
async updateOrganization(
organization: UpdateOrganizationDto,
): Promise<Organization> {
// let the promise resolve
await this.organizationRepository.update(organization.organization.id, {
lastChangedBy: organization.profile.id,
orgName: organization.organization.orgName,
orgLead: organization.organization.orgLead,
orgAsst: organization.organization.orgAsst,
from: organization.organization.from,
to: organization.organization.to,
teamWideReporting: organization.organization.teamWideReporting,
leadsAddTeamMembers: organization.organization.leadsAddTeamMembers,
leadsRemoveTeamMembers: organization.organization.leadsRemoveTeamMembers,
});
return organization.organization;
它也可能是實體/模式的問題。 您可以在 typeorm 配置(配置數據庫連接的位置)中打開查詢和錯誤日志記錄: https://orkhan.gitbook.io/typeorm/docs/logging
{
host: "localhost",
...
logging: ["query", "error"]
}
如果您仍然遇到問題,請更新您與組織實體的帖子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.