为任何实体创建 REST API。
我可以在 queryBuilder 中使用表名称而不是 Entity
吗?
const repository = getRepository("Table_Name"); // instead of Entity, I want use string `Any Table name`.
repository.createQueryBuilder( ... )
.leftJoin(['TableA', 'TableB'])
.orderBy("TableA.name")
.offset(5)
.limit(10);
最佳答案
鉴于您已经知道数据库表的名称,我认为您正在寻找正确的实体名称。
假设您只有一个数据库可供连接,您可以执行以下操作:
const tableName = "Table_Name";
const entityMetadata = getConnection().entityMetadatas.find((metadata) => metadata.tableName === tableName);
const repository = getRepository(entityMetadata.name);
对于您的 TableA
和 TableB
,我想您可以遵循相同的逻辑。
关于javascript - typeorm 从名称获取存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69026944/