[英]Bookshelf.JS | How to use where and orWhere in query
BookshelfJS有以下使用'query'的示例:
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) {
...
});
對於更復雜的查詢,您可以使用:
.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]);
});
})
您有兩種選擇:
使用回調
.query(function (qb) {
qb.where(other_id, '5')
.orWhere('key', 'value');
});
使用對象
.query({
where: { other_id: '5' },
orWhere: { key: 'value' }
})
查看書架 - 雄辯的擴展,它直接在書架模型上公開了許多Knex.js功能。 您的代碼將簡化為以下內容:
let result = await Model.where({other_id: 5}).orWhere('key', 'value').fetch();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.