任何人对如何编写“ ||”等OR逻辑有任何想法吗? JS中的'运算符 我试图在我的膝盖下这样做->
knex('something')
.where({ state: BOOKING_STATE.ACCEPTED } || { state: BOOKING_STATE.WAITING_LIST})
但是它失败了,我在文档中找不到关于它的任何东西
答案 0 :(得分:3)
如果您使用Knex查看where
子句的文档,则会看到一个分组的链,如果您尝试使用多个where子句,而只想or
这两个子句,列出,那么类似的方法就可以工作。
knex('something')
.where(function() {
this.where('state', BOOKING_STATE.ACCEPTED ).orWhere('state', BOOKING_STATE.WAITING_LIST)
})
.andWhere('something', something_else)
...;
答案 1 :(得分:2)
您应该可以使用where() and orWhere()
的组合:
knex('something')
.where({ state: BOOKING_STATE.ACCEPTED })
.orWhere({state: BOOKING_STATE.WAITING_LIST })
答案 2 :(得分:0)
如您在Knex.js Documentation上看到的,它具有where
,andWhere
和orWhere
的功能。因此,您可以通过调用
WHERE
查询
knex('something')
.where({ state: BOOKING_STATE.ACCEPTED })
.orWhere({ state: BOOKING_STATE.WAITING_LIST })
您还可以使用:
knex.select('some_field').from('some_table')
.where({ state: BOOKING_STATE.ACCEPTED })
.orWhere({ state: BOOKING_STATE.WAITING_LIST })