node.js - 如何使用 sequelize-typescript 从源实例创建关联实例
问题描述
我有 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
控制器
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'}] })
推荐阅读
- ssl - HelloVerifyRequest 上的 Dtls 握手中使用了错误的 SSL 版本
- java - 在服务器中检测到未知的 HK2 故障,并且在使用 AJAX 时请求的资源上不存在“Access-Control-Allow-Origin”标头
- akka-stream - akka.stream.scaladsl.Source 中 reduce 和 runReduce 的区别?
- android - Facebook get user_friends 仅适用于测试用户
- azure-devops-rest-api - 使用 Azure DevOps REST API 更新发布定义因旧副本而失败
- java - 如何在 Java 中的 FileInputStream 中获取 azure blob 存储内容?
- python - Django Annotate 获取完整的用户列表并添加标志。删除显示为重复的用户
- c++ - 静态变量不适用于 .so 文件
- javascript - 如何使用 IntersectionObserver 初步检查元素是否相交
- ruby-on-rails - 如何在 RoR 中实现转发功能?