我使用Nest.js与Typeorm和库class-transformer
import { Transform } from 'class-transformer';
@PrimaryGeneratedColumn()
@Transform(
({ value }) => `${value}/${moment().format('MM-YYYY')}`,
)
invoiceNumber: string;我试图产生这样的想法:1/01-2022。但我仍然只有一个数字,例如1 (没有日期)。
如何将日期添加到递增的值?
发布于 2022-01-26 09:43:41
您可以使用transformer选项:指定一个值转换器(或值转换器数组),用于在读取或写入数据库时封送此列。在数组的情况下,值转换器将按从entityValue到databaseValue的自然顺序应用,从databaseValue到entityValue的顺序相反。
transformer有两种方法:
to:用于在写入database.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;
}请注意,装饰器不再是@PrimaryGeneratedColumn,而是一个“简单”的@Column,primary选项设置为true。以前的装饰器仅用作表生成的主列。它创建的列是主列,其值是自动生成的。
https://stackoverflow.com/questions/70857405
复制相似问题