gpt4 book ai didi

node.js - 有没有办法在 TypeORM 中访问 `last_inserted_id`?

转载 作者:搜寻专家 更新时间:2023-11-01 00:28:39 24 4
gpt4 key购买 nike

具体来说,有没有办法在 TypeORM 事务中访问 last_inserted_id?即:

 try {
// transaction
await getManager().transaction(async (trManager): Promise<any> => {

const company = new Company();
const savedCompany = await trManager.save(company);
const companyId = savedCompany.lastInsertedId;

// ..............more saves..............//

// await trManager.save(otherEntityUsingCompanyId);

});
} catch (err) {
console.error("err: ", err);
}

我已经彻底查看了文档(诚然,如果我遗漏了什么,可能还不够彻底)但什么也没看到。我发现最接近的看起来相似的文档是:

const userId = manager.getId(user); // userId === 1

这似乎是一个足够常见的用例,我假设我错过了一些东西,这就是为什么我犹豫要提交一个问题。任何帮助,将不胜感激。谢谢!

最佳答案

注意:请注意,从最初的回答开始,我就没有使用过 TypeORM,所以现在可能有更好的方法来做到这一点。

想通了。使用返回方法...

const inserts = await getConnection()
.createQueryBuilder()
.insert()
.into(Company)
.values([
{ Name: "abcdef", Address: "456 denny lane" },
{ Name: "ghijkil", Address: "899 ihop lane" }
])
.returning("INSERTED.*")
.printSql()
.execute();

// `inserts` holds array of inserted objects

关于node.js - 有没有办法在 TypeORM 中访问 `last_inserted_id`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47420813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com