【发布时间】:2021-06-26 10:22:59
【问题描述】:
我遇到了一个错误
没有重载匹配这个调用
每当我尝试使用 @HasMany() 或 @BelongsTo 装饰器时。 我正在使用nestjs/sequelize:“^0.2.0”,sequelize:“^6.4.0”,sequelize-typescript:“^2.0.0”
我可能遗漏了一些琐碎的东西,但这也可能是版本控制或这三个库之间的集成的问题。可能跟nestjs没什么关系,不过我觉得还是值得一提的,以防万一。
这是我的两个模型:
user.model.ts
import {
AllowNull,
Column,
DataType,
HasMany,
HasOne,
IsEmail,
Model,
Table,
Unique,
} from 'sequelize-typescript';
import { Course } from '../courses/course.model';
import { UserRole } from './enums/user.roles.enum';
@Table
export class User extends Model<User> {
@Column
firstName: string;
@Column
lastName: string;
@IsEmail
@AllowNull(false)
@Unique
@Column
email: string;
@Column({ defaultValue: false })
verified: boolean;
@Column
verificationCode: string;
@Column
passwordHash: string;
@Column({ defaultValue: UserRole.STUDENT })
role: string;
@HasMany(() => Course)
courses: Course[];
}
课程.model.ts
import {
AllowNull,
BelongsTo,
Column,
DataType,
ForeignKey,
HasOne,
IsEmail,
Model,
Table,
Unique,
} from 'sequelize-typescript';
import { User } from '../users/user.model';
@Table
export class Course extends Model<Course> {
@Unique
@Column
title: string;
@ForeignKey(() => User)
@Column
teacherId: number;
@BelongsTo(() => User)
@Column
teacher: User;
}
【问题讨论】:
标签: sequelize.js nestjs sequelize-typescript