Nestjs 巢罐';t解决BookingService的依赖关系
我检查了很多答案,但仍然有这个错误。我希望你能帮我看看我错过了什么 错误:嵌套无法解析BookingService的依赖项 (BookingRepository,?,UserRepository)。请确保 索引[1]处的参数TableRepository位于 BookingModule上下文。可能的解决办法:Nestjs 巢罐';t解决BookingService的依赖关系,nestjs,Nestjs,我检查了很多答案,但仍然有这个错误。我希望你能帮我看看我错过了什么 错误:嵌套无法解析BookingService的依赖项 (BookingRepository,?,UserRepository)。请确保 索引[1]处的参数TableRepository位于 BookingModule上下文。可能的解决办法: 如果TableRepository是一个提供者,它是当前BookingModule的一部分吗 如果TableRepository是从单独的@Module导出的,那么该模块是否在Booki
- 如果TableRepository是一个提供者,它是当前BookingModule的一部分吗
- 如果TableRepository是从单独的@Module导出的,那么该模块是否在BookingModule中导入@模块({ 导入:[/*包含TableRepository的模块*/]})
@Injectable()
export class BookingService {
constructor(
@InjectRepository(Booking)
private readonly repository: Repository<Booking>,
@InjectRepository(Table)
private readonly tableRepository: Repository<Table>,
@InjectRepository(User)
private readonly userRepository: Repository<User>
) {}
}
@Module({
imports: [
TypeOrmModule.forRoot({ autoLoadEntities: true }),
TableModule,
RestaurantModule,
UserModule,
BookingModule
],
controllers: [AppController],
providers: [AppService],
exports: [TypeOrmModule]
})
export class AppModule {}
@Module({
imports: [TypeOrmModule.forFeature([Booking]), TableModule],
controllers: [BookingController],
providers: [BookingService]
})
export class BookingModule {}
@Module({
imports: [TypeOrmModule.forFeature([Table])],
controllers: [TableController],
providers: [TableService],
exports: [TableService]
})
export class TableModule {}
我的预订.module.ts:
@Injectable()
export class BookingService {
constructor(
@InjectRepository(Booking)
private readonly repository: Repository<Booking>,
@InjectRepository(Table)
private readonly tableRepository: Repository<Table>,
@InjectRepository(User)
private readonly userRepository: Repository<User>
) {}
}
@Module({
imports: [
TypeOrmModule.forRoot({ autoLoadEntities: true }),
TableModule,
RestaurantModule,
UserModule,
BookingModule
],
controllers: [AppController],
providers: [AppService],
exports: [TypeOrmModule]
})
export class AppModule {}
@Module({
imports: [TypeOrmModule.forFeature([Booking]), TableModule],
controllers: [BookingController],
providers: [BookingService]
})
export class BookingModule {}
@Module({
imports: [TypeOrmModule.forFeature([Table])],
controllers: [TableController],
providers: [TableService],
exports: [TableService]
})
export class TableModule {}
我的表.module.ts:
@Injectable()
export class BookingService {
constructor(
@InjectRepository(Booking)
private readonly repository: Repository<Booking>,
@InjectRepository(Table)
private readonly tableRepository: Repository<Table>,
@InjectRepository(User)
private readonly userRepository: Repository<User>
) {}
}
@Module({
imports: [
TypeOrmModule.forRoot({ autoLoadEntities: true }),
TableModule,
RestaurantModule,
UserModule,
BookingModule
],
controllers: [AppController],
providers: [AppService],
exports: [TypeOrmModule]
})
export class AppModule {}
@Module({
imports: [TypeOrmModule.forFeature([Booking]), TableModule],
controllers: [BookingController],
providers: [BookingService]
})
export class BookingModule {}
@Module({
imports: [TypeOrmModule.forFeature([Table])],
controllers: [TableController],
providers: [TableService],
exports: [TableService]
})
export class TableModule {}
如果要注入
表格存储库
,则应将类型或模块.forFeature([Table])
添加到预订模块
,或将类型或模块
添加到表格模块
的导出
。后者只会创建一个TableRepository
实例,这是我的建议,但最终两者都会起作用。我想这是因为服务,但在将TypeOrmModule
添加到TableModule
的导出
后,它运行。多谢各位