2016-03-21 32 views
4

我想执行WHERE - IN查询/操作,但正常情况下出现错误。在bookshelf.js中执行查询的位置

我想这

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

回答

5

尝试添加操作:

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

或者使用knex的whereIn

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

如何解决https://github.com/tgriesser/bookshelf/issues/592 – aWebDeveloper

+0

任何想法恐怕不行,我没有与任何书架真实经历 – Jcl

+0

哇....那么你是如何回答这个问题的 – aWebDeveloper

5

试穿模型查询()功能。

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