gpt4 book ai didi

node.js - 如何使用 sequelize-typescript 从源实例创建关联实例

转载 作者:行者123 更新时间:2023-12-03 12:11:57 26 4
gpt4 key购买 nike

我有 1:n 关联 Company -> CompanySettings ,
我想要的是,我通过 Id 找到 Company,然后通过该实例创建 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[]
公司设置类
@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
告诉我我错在哪里?

最佳答案

如果你想创建一个设置,你应该编写如下代码companies.$create('setting', { startDate: '22 })代替companies.$create('settings', { startDate: '22' })如果你想批量创建,你应该喜欢下面companies.$create('settings', [{ startDate: '22', { startDate: '23'}] })

关于node.js - 如何使用 sequelize-typescript 从源实例创建关联实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58572562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com