Я хочу создать простую связь между пользователем и документами в TypeGraphQL. Таким образом, пользователь может создавать неограниченное количество документов, а документ имеет только одного создателя. Но я получаю сообщение об ошибке.
Пользователь
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity, OneToMany } from "typeorm";
import { Field, ID, ObjectType } from "type-graphql";
import { Doc } from "./Doc";
@ObjectType()
@Entity()
export class User extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field()
@Column()
firstName: string;
@Field()
@Column()
lastName: string;
@Field()
@Column()
nickname: string;
@Field()
@Column("text", { unique: true })
email: string;
@Column()
password: string;
@Field({ nullable: true })
@Column()
created: Date;
@Field()
@Column()
gender: string;
@OneToMany(() => Doc, doc => doc.creator)
createdDocs: Promise<Doc[]>;
}
Документ
import { Entity, PrimaryGeneratedColumn, Column, BaseEntity, ManyToOne } from "typeorm";
import { Field, ID, ObjectType } from "type-graphql";
import { User } from "./User";
@ObjectType()
@Entity()
export class Doc extends BaseEntity {
@Field(() => ID)
@PrimaryGeneratedColumn()
id: number;
@Field({ nullable: true })
@Column()
created: Date;
@Field()
@Column()
@ManyToOne(() => User, user => user.createdDocs)
creator: Promise<User>;
}
Ошибка
throw new errors_1.NoExplicitTypeError(prototype.constructor.name, propertyKey, parameterIndex);
^
Error: You need to provide explicit type for Doc#creator !
Но что является причиной этого? Конечно, создатель столбца в табличном документе не является реальным «типом данных», потому что он не должен быть «статичным». Это должно быть отношение, и это отношение не может иметь «тип данных».