回答編集履歴

1 Knex.rawへの参照を修正

soak

soak score 7

2018/05/23 17:06  投稿

結局Bookshelfにはその機能が無いようで、modelをfetchする時にknexのqueryを直接自分で発行する事にしました。
```typescript
let model=new EntryModel();
model.query(builder=>{
   builder.innerJoin("entry_tag", function(){
       this.on("entry_tag.entry", "entry.id");
       this.andOn("entry_tag.tag", model.knex().raw("?", [1]));
       this.andOn("entry_tag.tag",  knex.raw("?", [1]));
   });
}).fetchAll().then(v=>{
   console.log(v.toJSON());
}).catch(e=>{
   console.log(e);
})
```
Bookshelfだけの機能でどうにかするのではなく、knexも絡めて使っていくのが良さそうです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る