![](/img/trans.png)
[英]TypeORM - EntityColumnNotFound: No entity column "anträge" was found
[英]EntityColumnNotFound: No entity column "joinDate" was found
我需要使用 typeorm 更新用戶實體。 用戶有額外的計算列joinDate
如下:
export default class USAppUser extends BaseEntity {
@PrimaryGeneratedColumn("uuid")
id: string;
joinDate: number;
@AfterLoad()
getJoinDate() {
this.joinDate = new Date(this.created_at).getTime();
}
}
現在,我更新User
實體如下:
async updateUser(userId, url) {
const dbUser = await User.findOne(userId);
if (!dbUser) {
throw new UserInputError("User doesn't exist.");
}
dbUser.avatar = url + "?time=" + super.getTimeStamp();
// delete dbUser.joinDate; // ** Need to do this to update without errors **
await User.update(userId, { ...dbUser });
return dbUser.avatar;
}
Typeorm 拋出異常
EntityColumnNotFound:未找到實體列“joinDate”。
作為一種解決方法,我使用delete dbUser.joinDate
在更新之前刪除屬性。 但我確信有更好的方法來做到這一點。 請指教。
將 getJoinDate 更改為
@AfterLoad()
getJoinDate() {
return new Date(this.created_at).getTime();
}
從實體中刪除 joinDate 屬性,然后在引用 joinDate 的地方調用 getJoinDate() 。
編輯
這是另一種方法。
export class JoinDateUSAppUser {
constructor(private user: USAppUser) {}
joinDate: number;
getJoinDate() {
this.joinDate = new Date(this.user.created_at).getTime();
}
}
這樣,您必須創建一個單獨的變量來訪問 joinDate。
不知何故update
function 沒有工作。 嘗試save
function 並且它在沒有任何更改的情況下工作。
dbUser.avatar = url + "?time=" + super.getTimeStamp();
await User.save(dbUser); //save works
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.