首页 > 解决方案 > 一对多关系类型

问题描述

我想在 typerom (sqlite) 中的两个表之间创建一对多关系但这会产生错误

未找到 Todo#menus 的错误 实体元数据。

我的实体待办事项

    @Entity('Todo')
export class Todo{
@PrimaryGeneratedColumn()
id:number

@Column()


text:string

@Column({default:false})

completed:boolean

@Column({nullable:true})

completeTime : Date


@CreateDateColumn()

createTime:Date

@UpdateDateColumn()

updateTime:Date

 @OneToMany(type => Menu,menu => menu.todo)

  menus:Menu[]
  }

菜单实体 =>

 @Entity('Menu')
export  class Menu{

    @PrimaryGeneratedColumn()

    id : number

    @Column()

    Name_Category_Restourent : String 

    @Column()

    Name_Category_Sandewith : String ;

    @Column()

    Name_Category_Drink : String
     @ManyToOne(type=>Todo , todo => todo.menus)
     todo : Todo ;
}

和配置

imports:[
    TypeOrmModule.forRoot({
        type:'sqlite',
        database : 'app.db',
        entities:[__dirname + '/**/*.entity.{js,ts}'],
        synchronize:true
    
    }),
    TypeOrmModule.forFeature([
        Todo,
        Menu
    ]),

标签: nestjstypeorm

解决方案


当实体未导入或配置不正确时,就会出现错误。

请更新如下配置:

imports:[
    TypeOrmModule.forRoot({
        type:'sqlite',
        database : 'app.db',
        // it seems the path is not correct
        // so you can just import your entities directly here
        entities:[Todo, Menu],
        synchronize:true
    
    })

推荐阅读