【发布时间】:2020-07-01 15:32:34
【问题描述】:
我对 typeORM/Typescript 世界比较陌生。我有一个服务类来提供如下资源:
import { Injectable} from '@nestjs/common';
import { getManager } from 'typeorm';
class MyServiceClass {
//static readonly sqlStr = `SELECT MAINTABLE.* WITH LEFT OUTER JOIN WITH TWO MORE TABLES `;
async findAll(limit?: number) {
const mgr = getManager();
const retRows = await mgr.query(
`
SELECT MAINTABLE.* WITH LEFT OUTER JOIN WITH TWO MORE TABLES
${limit ? `FETCH NEXT ${limit} ROWS ONLY` : ''}
`,
);
return retRows;
}
async findOne(id: number) {
const mgr = getManager();
const retRow = await mgr.query(
`
SELECT MAINTABLE.* WITH LEFT OUTER JOIN WITH TWO MORE TABLES
${id ? ` WHERE MAINTABLE.MAIN_ID = ${id}` : ''}
`,
);
return retRow;
}
}
我想从每个函数中删除 sql 语句,但保留过滤逻辑。相反,我想在 mgr.query() 函数中使用 MyServiceClass.sqlStr 。如果有人指出我该怎么做,那就太好了。
【问题讨论】:
标签: typescript nestjs typeorm