【发布时间】:2020-04-15 12:51:03
【问题描述】:
我需要为多对多关系添加其他属性,我自己创建了一个新实体,如文档中所示。
它是用户实体。
import { Entity, PrimaryGeneratedColumn, Column, OneToMany } from 'typeorm';
import { ShareTask } from './../../share-taks/entity/share-taks.entity';
@Entity('users')
export class User {
@PrimaryGeneratedColumn()
public id: number;
@Column({ type: 'varchar', nullable: false })
public email: string;
@Column({ type: 'varchar', nullable: false })
public password: string;
@OneToMany(() => ShareTask, (shareTask: ShareTask) => shareTask.user)
public shareTask: ShareTask[];
}
它是任务实体。
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { ShareTaks } from './../../share-taks/entity/share-taks.entity';
@Entity('tasks')
export class Taks {
@PrimaryGeneratedColumn()
public id: number;
@Column({ type: 'varchar', nullable: false, length: 50 })
public title: string;
@OneToMany(() => ShareTaks, (shareTaks: ShareTaks) => shareTaks.taks)
public shareTaks: ShareTaks[];
}
它是 ormconfig.json。
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "7047",
"database": "db",
"entities": ["dist/**/*.entity{.ts,.js}"],
"synchronize": true
}
它是 ShareTaks 实体。
import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm';
import { User } from './../../users/entity/user.entity';
import { Taks } from './../../taks/entity/taks.entity';
@Entity('shareTasks')
export class shareTask {
@PrimaryGeneratedColumn()
public id: number;
@Column({ type: 'integer', nullable: false })
public taskId: number;
@Column({ type: 'integer', nullable: false })
public userId: number;
@ManyToOne(() => (task: Task) => task.shareTask, { cascade: ['insert', 'update', 'remove'] })
public task: Task;
@ManyToOne(() => (user: User) => user.shareTask, { cascade: ['insert', 'update', 'remove'] })
public user: User;
}
在我建立多对多关系之前,一切都很顺利。当我添加多对多关系时,出现错误。
错误:未找到 ShareTask#task 的实体元数据。检查您是否指定了正确的实体对象,以及它是否在连接选项中连接。
由于我得到一个错误,我无法理解。
我找到了一些问题的答案,但它们对我没有帮助。
【问题讨论】:
-
这个问题好运吗?
标签: typeorm