javascript - Nest can't resolve dependencies of repository
问题描述
I got error on my nestjs app. I cant figure out whats wring with my code. I The codes is something like this
AppModule
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AdminModule } from './components/admin.modules';
@Module({
imports: [
AdminModule,
TypeOrmModule.forRoot({
type: 'postgres',
host: process.env.DATABASE_HOST,
username: process.env.DATABASE_USERNAME,
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME,
port: parseInt(process.env.DATABASE_PORT),
}),
],
})
export class AppModule {}
AdminModule
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Admin } from './admin.entity';
import { AdminRepository } from './admin.repository';
@Module({
imports: [TypeOrmModule.forFeature([Admin])],
providers: [AdminRepository],
})
export class AdminModule {}
AdminRepository
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { RepositoryBase } from '../../common/base/repository.base';
import { Admin } from './admin.entity';
@Injectable()
export class AdminRepository extends RepositoryBase<Admin> {
constructor(@InjectRepository(Admin) private readonly repo: Repository<Admin>) {
super(repo);
}
And what i get is error like this
Error: Nest can't resolve dependencies of the AdminRepository (?). Please make sure that the argument AdminRepository at index [0] is available in the AdminModule context.
Potential solutions: - If AdminRepository is a provider, is it part of the current AdminModule? - If AdminRepository is exported from a separate @Module, is that module imported within AdminModule?
解决方案
我认为问题在于您给提供者的名称:AdminRepository
. 很可能,内部TypeOrm
使用该名称为Admin
实体创建存储库,因此名称冲突。
如果您将提供程序类重命名为其他任何名称(例如AdminRepo
或AdminService
),错误应该会消失。或者另一件事是将实体类重命名为Admin
其他名称。
你要避免的是创建一个类${EntityClassName}Repository
推荐阅读
- php - “除以零”PHP
- javascript - 将带有嵌套引号的命令字符串解析为参数和标志
- datetime - 如何在 LogicApp 中更改英国日期格式
- javascript - 如何获取正确的单元格并显示事件信息?
- bash - Bash:从后面写参数。我能比 N^2 做得更好吗?
- python - string.punctuation 无法从字符串中删除某些字符
- ruby - 如何改进嵌套条件
- javascript - document.querySelector 在函数中不断返回 null
- php - 改进从数据库中获取行并保存到数组中
- php - 上传到 CPT 时 Wordpress 自动重命名和填充属性