书架单步查询和更新值
Bookshelf query and update value in a single step
我正在使用 Bookshelf JS 作为我的 ORM。我想查询一个特殊实体并更新它一个查询(就像我执行 INSERT INTO...WHERE...)
如何在没有原始查询的情况下执行此操作?
这是我现在的做法:
async function updateSetting() {
let userSetting = await Setting.where({user: 1, key: 'foo'}).fetch()
await userSetting.save({value: {confirmed: true, order: 66}})
}
你可以试试这个:
async function updateSetting() {
let userSetting = await Setting
.where({user: 1, key: 'foo'})
.save(
{value: {confirmed: true, order: 66}},
{method: 'update', patch: true}
)
}
要在不执行 fetch()
的情况下更新模型,您需要具有模型的 id_Attribute
(通常只是 id
)或使用 where()
子句(如前所述通过@websoftwares)
有点像:
new Setting({ id: 99 })
.save({ value: { confirmed: true, order: 66} },
{ patch: true })
请注意,在这种情况下,您不需要指定 method
,因为 id
的存在意味着您正在更新现有行。
我正在使用 Bookshelf JS 作为我的 ORM。我想查询一个特殊实体并更新它一个查询(就像我执行 INSERT INTO...WHERE...)
如何在没有原始查询的情况下执行此操作?
这是我现在的做法:
async function updateSetting() {
let userSetting = await Setting.where({user: 1, key: 'foo'}).fetch()
await userSetting.save({value: {confirmed: true, order: 66}})
}
你可以试试这个:
async function updateSetting() {
let userSetting = await Setting
.where({user: 1, key: 'foo'})
.save(
{value: {confirmed: true, order: 66}},
{method: 'update', patch: true}
)
}
要在不执行 fetch()
的情况下更新模型,您需要具有模型的 id_Attribute
(通常只是 id
)或使用 where()
子句(如前所述通过@websoftwares)
有点像:
new Setting({ id: 99 })
.save({ value: { confirmed: true, order: 66} },
{ patch: true })
请注意,在这种情况下,您不需要指定 method
,因为 id
的存在意味着您正在更新现有行。