而不重新分配查询"/>
Knex 使用事务选择查询而不重新分配查询
我正在尝试插入一行,然后在同一事务中查询同一行。这是我的代码的简化版本:
async function queryCreated(id, trx?) {
const query = knex('table')
.select('id')
.orderByRaw("substring(id, '\\d+')::int desc")
.first();
if (trx) {
query.transacting(trx);
}
return await query;
}
const result = await knex.transaction(async trx => {
await knex('table').insert({id: 'ABC123', column1: 'value1'}).transacting(trx);
return queryCreated('id', trx);
})
我的代码似乎无法读取插入的行。难道是因为
transacting(trx)
方法调用没有修改原始查询?我是否必须像这样将返回值重新分配给 query
变量?
async function queryCreated(id, trx?) {
let query = knex('table')
.select('id')
.orderByRaw("substring(id, '\\d+')::int desc")
.first();
if (trx) {
query = query.transacting(trx);
}
return await query;
}
回答如下:
更多推荐
Knex 使用事务选择查询而不重新分配查询
发布评论