推荐 最新
疯狂的搬运工

nest Typeorm 如何在某个service的onModuleInit进行数据库操作?

有这么一个service,需要在"onModuleInit"方法里对数据库的表进行操作,但是 "onModuleInit" 一直无法触发,就算在"main.ts"里手动触发 "onModuleInit" 方法也没法拿到 "detailRepository" 实例,请问要如何解决,或者有什么方式可以实现这个场景吗? "test.service.ts" 代码如下 export class TestService implements OnModuleInit { constructor( @InjectRepository(detail) private detailRepository: Repository, ) {} onModuleInit() { console.log( 'onModuleInit: this.detailRepository', this.detailRepository, ); } } "test.module.ts" 代码如下 @Module({ imports: [TypeOrmModule.forFeature([Detail])], controllers: [TestController], providers: [TestService, Response], }) export class TestModule {} "app.module.ts" 代码如下 @Module({ imports: [ TypeOrmModule.forRoot({ type: 'mysql', ...config, entities: [Detail], }), TestModule, ], controllers: [AppController], providers: [ AppService, ], })

11
1
0
浏览量249
导师小jio

typeorm关联查询某个数据项的total应该怎么写?

const user = this.userRepository .createQueryBuilder('user') .leftJoin('user.tel', 'tel') .addSelect('COUNT(DISTINCT tel.id)', 'totalTel') .groupBy('user.id') .getOne(); return user; 一个user有多个tel,是一对多的关系,现在我需要查询某个user,并且关联出tel的数量,上面的写法,user没有totalTel字段。 { id:1, userName: 'aaa' } 而改成getRawOne就有totalTel字段,但是其他字段都是数据库定义的下划线,而非驼峰的形式。 { id:1, user_name: 'aaa', totalTel: 1, } getOne应该怎么增加totalTel字段。

0
1
0
浏览量21
三千米的偷感

typeorm关联查询如何筛选关联数据?

const user = this.userRepository .createQueryBuilder('user') .leftJoin('user.tel', 'tel') .where('user.id = :userId', { userId }) .getOne(); return user; 一个user有多个tel,是一对多的关系,现在我只需要查最新的一条即可,没必要把tel全查出来,应该怎么写?

0
1
0
浏览量20