首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sequelize-typescript从源实例创建关联实例

如何使用sequelize-typescript从源实例创建关联实例
EN

Stack Overflow用户
提问于 2019-10-27 00:20:28
回答 1查看 1.4K关注 0票数 6

我有一个1:n的关联Company -> CompanySettings,我想要的是,我通过Id找到公司,然后通过该实例创建companySettings,并自动填充外键属性

using sequelize-typescript

我尝试过联想函数中的$get$add$count及其作品

但是当我尝试$create函数时,它给出了错误

公司类

代码语言:javascript
复制
@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类

代码语言:javascript
复制
@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

控制器

代码语言:javascript
复制
const companies = await Company.findOne()

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

找到源实例后,我想创建与源实例相关的新实例

但是我得到的错误如下所示

代码语言:javascript
复制
TypeError: this[("create" + string_1.capitalize(...))] is not a function

告诉我我哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2021-03-05 15:10:39

如果你想创建一个设置,你应该像下面这样写代码

companies.$create('setting', { startDate: '22 })

代替companies.$create('settings', { startDate: '22' })

如果您想创建批量,您应该如下所示

companies.$create('settings', [{ startDate: '22', { startDate: '23'}] })

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58572562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档