π Overview:
Have you tried to implement getter/setter in your entity of TypeORM?
But Not found exact though use of AI.
π The Problem :
- I try to map a private _userType to a public userType getter/setter.
- TypeORM still reads/writes the raw _userType field without calling get/set.
- The conversion code inside get userType() / set userType() is never applied
β Have you tried like below ?
And getting the
"Error: Missing column value in entity for: user_type
"
β
@Entity()
export class User {
@Column({ name: 'user_type', type: 'int' })
private _userType: number;
// These will NOT be used by TypeORM:
get userType(): string {
return this._userType === 1 ? 'ADMIN' : 'USER';
}
set userType(val: string) {
this._userType = val === 'ADMIN' ? 1 : 0;
}
}
β The Fix: Use transformer
Works perfectly β no more errors, and clean transformations. Instead of getters/setters, use TypeORMβs built-in transformer option on the column
@Entity()
export class User {
@Column({
name: 'user_type',
type: 'int',
transformer: {
to(role: string): number {
return role === 'ADMIN' ? 1 : 0;
}
from(value: number): string {
return value === 1 ? 'ADMIN' : 'USER';
}
};
})
}
Top comments (0)