как создать экземпляр ассоциации из исходного экземпляра с помощью sequelize-typescript - PullRequest
0 голосов
/ 26 октября 2019

У меня есть 1: n ассоциация Company -> CompanySettings, я хочу найти Company по Id, затем создать companySettings для этого экземпляра и автоматически заполнить атрибут внешнего ключа

, используя 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
controller
const companies = await Company.findOne()

    return await companies.$create('settings', { startDate: '22' })

после поиска экземпляра источника, я хочу создать новый экземпляр, связанный с экземпляром источника

, но с ошибками

TypeError: this[("create" + string_1.capitalize(...))] is not a function

рассказатья где я не прав?

...