我需要基于条件在Objection.js中运行修补程序(或更新)。我有这样的代码:
if (leavenMachine.ping == true){
MachinesInit.query()
.patch({status: 'OK', online:"yes"})
.where('machine', 'leaven machine')
.where('type', 'M');
}else {
MachinesInit.query()
.patch({status: 'OK'})
.where('machine', 'leaven machine')
.where('type', 'M');
}我需要重构它,这样我就不需要两个查询(一个在if条件内,第二个在else中),而只需要一个,将条件嵌入到修补程序方法中。有可能吗?我该怎么做?
发布于 2020-01-29 09:10:26
可以将patch对象提取到变量:
const patchData = (leavenMachine.ping == true) ? {status: 'OK', online:"yes"} : {status: 'OK'}之后,只需调用查询:
MachinesInit.query()
.patch(patchData)
.where('machine', 'leaven machine')
.where('type', 'M');您可以将patchData的值直接传递给patch调用,但是这样就更容易读了。
希望这能有所帮助。
https://stackoverflow.com/questions/59963681
复制相似问题