如何 select 存储库中的这个实体
how to select this entity in repository
如何在 typeorm 中创建存储库方法时 select this
实体?
我正在尝试 select 管理员实体密码 属性 但是 this
selects 存储库不是实体
@EntityRepository(Admin)
export class AdminRepository extends Repository<Admin> {
async comparePasswords(password: string): Promise<boolean> {
return await compare(password, this.password);
}
}
方法移至实体 class .
当您像这样创建自定义存储库时:
admin.repository.ts
@EntityRepository(Admin)
export class AdminRepository extends Repository<Admin> {}
例如,您可以在服务或控制器(或其他 class)中使用它,方法是像这样将其注入到构造函数中:
admin.service.ts
@Injectable()
export class AdminService {
constructor(
@InjectRepository(AdminRepository)
private adminRepository: AdminRepository,
) {}
async findAdminByName(name: string): Promise<boolean> {
return await = this.adminRepository.findOne({name});
}
}
但是如果您实际上不需要在存储库 class (take a look to all standard TypeOrm repository methods) 上实现自定义方法,则无需创建自定义存储库文件 admin.repository.ts
即可获得相同的结果,并将其直接注入服务:
admin.service.ts
@Injectable()
export class AdminService {
constructor(
@InjectRepository(Admin)
private adminRepository: Repository<Admin>,
) {}
async findAdminByName(name: string): Promise<boolean> {
return await = this.adminRepository.findOne({name});
}
}
也看看文档 Repository Pattern
如何在 typeorm 中创建存储库方法时 select this
实体?
我正在尝试 select 管理员实体密码 属性 但是 this
selects 存储库不是实体
@EntityRepository(Admin)
export class AdminRepository extends Repository<Admin> {
async comparePasswords(password: string): Promise<boolean> {
return await compare(password, this.password);
}
}
方法移至实体 class .
当您像这样创建自定义存储库时:
admin.repository.ts
@EntityRepository(Admin)
export class AdminRepository extends Repository<Admin> {}
例如,您可以在服务或控制器(或其他 class)中使用它,方法是像这样将其注入到构造函数中:
admin.service.ts
@Injectable()
export class AdminService {
constructor(
@InjectRepository(AdminRepository)
private adminRepository: AdminRepository,
) {}
async findAdminByName(name: string): Promise<boolean> {
return await = this.adminRepository.findOne({name});
}
}
但是如果您实际上不需要在存储库 class (take a look to all standard TypeOrm repository methods) 上实现自定义方法,则无需创建自定义存储库文件 admin.repository.ts
即可获得相同的结果,并将其直接注入服务:
admin.service.ts
@Injectable()
export class AdminService {
constructor(
@InjectRepository(Admin)
private adminRepository: Repository<Admin>,
) {}
async findAdminByName(name: string): Promise<boolean> {
return await = this.adminRepository.findOne({name});
}
}
也看看文档 Repository Pattern