在bookshelf.js中执行一个where in查询

5

我想执行一个WHERE - IN查询/操作,但普通的where会报错。

我想要这个。

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个回答

11

尝试添加运算符:

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

或者使用knex的whereIn

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

1
很抱歉,我没有使用过bookshelf,缺乏实际经验。 - Jcl
我在业余时间尝试过 Knex,这是 Bookshelf 使用的东西。 - Jcl

6
尝试在您的模型上使用 query() 函数。
CalendarEventRSVP.query(function(qb){
    qb.where('event_id' , 'in' , [1,2,3,4]) ;
})
.fetchAll()
.then();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接