我正在努力使用续集创建一个条目。我有一个具有登录名,密码和类型的模型帐户。我声明该帐户并设置登录名,密码和类型,然后致电Account.create(account)
。该帐户是在数据库中创建的,因为它生成了一个ID,但未填写字段。
当我使用对象调用create时,效果很好。
我真的不想每次想在数据库中添加东西时都声明一个对象,我希望可以续用我声明的模型。
这是我的代码
//account.model.ts
@Table
export default class Account extends Model<Account> {
@PrimaryKey
@AutoIncrement
@Column({ type: DataType.INTEGER, field: 'id' })
id: number;
@Column({ type: DataType.STRING, field: 'login' })
login: string;
@Column({ type: DataType.STRING, field: 'password' })
password: string;
@Column({ type: DataType.ENUM, values: ['USER', 'BOX'], field: 'type' })
type: string;
@HasOne(() => Entity)
entity: Entity;
toString(): string {
return "id=" + this.id + " login=" + this.login + " password=" + this.password + " type=" + this.type;
}
}
//test.ts
let account = new Account();
account.login = "jack";
account.password = "jack";
account.type = "USER";
console.log("account:" + account.toString());
let storedAccount = await Account.create(account);
console.log(storedAccount.toString());
console.log();
console.log("object: { login: 'john', password: 'john', type : 'USER' }");
let storedAccount3 = await Account.create({ login: 'john', password: 'john', type: 'USER' });
console.log(storedAccount3.toString());
这是输出:
account:id=null login=jack password=jack type=USER
id=3 login=null password=null type=null
object: { login: 'john', password: 'john', type : 'USER' }
id=4 login=john password=john type=USER
我想知道这是预期的行为还是做错了。
谢谢
答案 0 :(得分:0)
最后,我自己找到了它,Model基类有一个save()方法,其功能与create相同。所以我可以直接致电account.save()