我有一个1:n的关联Company -> CompanySettings,我想要的是,我通过Id找到公司,然后通过该实例创建companySettings,并自动填充外键属性
using sequelize-typescript
我尝试过联想函数中的$get,$add,$count及其作品
但是当我尝试$create函数时,它给出了错误
公司类
@Table({
tableName: 'company',
})
export class Company extends Model<Company> {
@Column({ allowNull: false, type: DataType.STRING(50) })
name: string
@CreatedAt
@Column({ field: 'created_at' })
createdAt: Date
@UpdatedAt
@Column({ field: 'updated_at' })
updatedAt: Date
@Column({ field: 'is_deleted', defaultValue: 'f', type: DataType.BOOLEAN })
isDeleted: boolean
@HasMany(() => CompanySettings)
settings: CompanySettings[]CompanySettings类
@Table({
tableName: 'company_settings',
})
export class CompanySettings extends Model<CompanySettings> {
@ForeignKey(() => Company)
@Column
idCompany: number
@BelongsTo(() => Company)
company: Company
@Column({ type: DataType.ENUM('default', 'alwaysApprove', 'alwaysAsking') })
defaultBookingApproval: defaultBookingOptions
@Column({ type: DataType.SMALLINT })
budgetPeriod: number
@Column({ type: DataType.CHAR(2) })
startDate: string
@CreatedAt
@Column
createdAt: Date
@UpdatedAt
@Column
updatedAt: Date
@Column({ defaultValue: 'f', type: DataType.BOOLEAN })
isDeleted: boolean控制器
const companies = await Company.findOne()
return await companies.$create('settings', { startDate: '22' })找到源实例后,我想创建与源实例相关的新实例
但是我得到的错误如下所示
TypeError: this[("create" + string_1.capitalize(...))] is not a function告诉我我哪里错了?
发布于 2021-03-05 15:10:39
如果你想创建一个设置,你应该像下面这样写代码
companies.$create('setting', { startDate: '22 })
代替companies.$create('settings', { startDate: '22' })
如果您想创建批量,您应该如下所示
companies.$create('settings', [{ startDate: '22', { startDate: '23'}] })
https://stackoverflow.com/questions/58572562
复制相似问题