BookshelfJS有以下使用'查询':
的示例model
.query({where: {other_id: '5'}, orWhere: {key: 'value'}})
.fetch()
.then(function(model) {
...
});
可以执行以下操作:
var whereObj = {
'key1':'value1',
'key2':'value2'
};
model
.query({where: whereObj, orWhere: {key: 'value'}})
.fetch()
.then(function(model) {
...
});
答案 0 :(得分:11)
对于更复杂的查询,您可以使用:
.query(function(qb) {
qb.select('*');
qb.where(function () {
this.where('attr1', 1);
this.where('attr2','in' , [1,2,3]);
});
qb.orWhere(function () {
this.where('attr1', 2);
this.where('attr2','in' , [4,5,6]);
});
})
答案 1 :(得分:1)
查看bookshelf-eloquent扩展,它直接在书架模型上公开了许多Knex.js功能。您的代码将简化为以下内容:
let result = await Model.where({other_id: 5}).orWhere('key', 'value').fetch();