nestjs 数据库常用查询
多条件模糊查询
let where = {} where['user_id'] = 1 return await this.apiLoginService.getByList({ where:[ { id:Like(`%1%`),...where}, { create_time:Like(`%1%`),...where}, ] })关联查询一对一查询 和一对多查询
async getByList() { return await this.db.createQueryBuilder('a') .leftJoinAndMapOne("a.user", HomeUser, "user", "a.user_id = user.id") .leftJoinAndMapMany("a.order", HomeOrder, "order", "a.user_id = order.user_id") .getMany() }order 排序
return await this.apiLoginService.getByList({ order:{ "a.create_time":'DESC', "a.id":'DESC', } }) async getByList({ order = {} }) { return await this.db.createQueryBuilder('a') .orderBy(order) .getMany() }综合查询
// 测试 @Post('test') async test(@Body() param){ let where = {} where['user_id'] = 1 let res = await this.apiLoginService.getByList({ order:{ "a.create_time":'DESC', "a.id":'DESC', }, where:[ { id:Like(`%1%`),...where}, { create_time:Like(`%1%`),...where}, ] }) if(res?.length){ return Utils.msg(res,'获取成功',1) }else{ return Utils.msg('','获取失败',0) } }