mic*_*hal 2 nest typeorm class-transformer
我将 Nest.js 与 Typeorm 和库一起使用class-transformer:
import { Transform } from 'class-transformer';
@PrimaryGeneratedColumn()
@Transform(
({ value }) => `${value}/${moment().format('MM-YYYY')}`,
)
invoiceNumber: string;
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成这样的想法:1/01-2022。但我仍然只有一个数字,例如1(没有日期)。
如何将日期添加到增量值中?
您可以使用该transformer选项。
指定一个值转换器(或值转换器数组),用于在读取或写入数据库时对该列进行编组(取消)。如果是数组,值转换器将按从entityValue 到databaseValue 的自然顺序应用,并按从databaseValue 到entityValue 的相反顺序应用。
来源:TypeORM 文档
transformer有两种方法:
to:写入数据库时用于编组数据。from:用于从数据库读取时解组数据。class YourClass {
@Column({
primary: true, // Marks column as primary
transformer: {
to(value) {
// Transform 'invoiceNumber'
return `${value}/${moment().format('MM-YYYY')}`;
}
from(value) {
// Do nothing
return value;
}
},
/* Other options... */
})
invoiceNumber: string;
}
Run Code Online (Sandbox Code Playgroud)
请注意,装饰器不再是一个选项设置为 的“@PrimaryGeneratedColumn简单”装饰器。前面的装饰器仅用作表生成的主列。它创建的列是主要列,其值是自动生成的。@Columnprimarytrue
| 归档时间: |
|
| 查看次数: |
10251 次 |
| 最近记录: |