在bookshelf.js中执行查询中的位置

时间:2016-03-21 12:25:51

标签: bookshelf.js

我想执行WHERE - IN查询/操作但正常情况下会出错。

我想要这个

select * from `calendar_event_rsvp` where `event_id` in ('1', '2', '3')

但是下面的代码会导致

select * from `calendar_event_rsvp` where `event_id in` = '1', '2', '3'

代码

CalendarEventRSVP.forge()
                .where({
                    "event_id": event_ids
                })

我如何在bookshelf.js

中这样做

2 个答案:

答案 0 :(得分:7)

尝试添加运算符:

CalendarEventRSVP.forge()
            .where('event_id', 'in', event_ids)

或使用knex' whereIn

 CalendarEventRSVP.forge()
            .query({whereIn: {event_id: event_ids}})

答案 1 :(得分:6)

在您的模型上尝试 query()功能。

CalendarEventRSVP.query(function(qb){
    qb.where('event_id' , 'in' , [1,2,3,4]) ;
})
.fetchAll()
.then();