use*_*521 5 javascript typeorm
console.log(
myRepo
.createQueryBuilder()
.select('id')
.andWhere('uuid = :uuid', { uuid: '170eb26c-19e7-418b-aae8-3308d61ef7d5' })
.getSql()
);
Run Code Online (Sandbox Code Playgroud)
印刷:
SELECT id FROM "my_entities" "MyEntity" WHERE uuid = $1
如何获取$1替换为参数值的查询字符串?请注意,我不想执行查询 - 我只需要不带参数的查询字符串。
我在此 typeorm github 问题中找到了解决方案:https://github.com/typeorm/typeorm/issues/556#issuecomment-317459125:
async function rawQuery<T = any[]>(query: string, parameters: object = {}, manager?: EntityManager): Promise<T> {
const conn = manager ? manager.connection : getConnection();
const [ escapedQuery, escapedParams ] = conn.driver.escapeQueryWithParameters(query, parameters, {});
return conn.query(escapedQuery, escapedParams);
}
// usage
const comments = await rawQuery<Array<{ id: number, comment: string }>>(
'select id, comment from comments where post_id in (:...postIds)', { postIds: [1, 2, 3] }
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21651 次 |
| 最近记录: |