js:如何在查询中使用where和orWhere
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' }
})
查看bookshelf-eloquent扩展,它直接在bookshelf模型上公开了许多Knex.js函数。您的代码将简化为如下所示:
let result = await Model.where({other_id: 5}).orWhere('key', 'value').fetch();
相关文章:
- Angular2 rc1, where is shims_for_IE
- Sequelize where语句外键表
- 猫鼬:$where不等
- 在查询字符串中查找 where 子句
- 主干 where 对作为对象的属性的函数
- 调用 db.system.js $where 中的函数
- JS Sequelize "Where Related" Query?
- SELECT FROM WHERE语句在使用变量时不起作用…
- 将where子句与javascript变量一起使用
- Where is require('cookieParser')存在于expression 3中
- 为什么pulk()和where()方法不起作用
- Sequelize ORM中联接表的Where条件
- Firebase-如何在列表查询中执行where项
- 下划线where with or condition(下划线、lodash或任何其他解决方案)
- 使环回模型得到“;存在”;带有where子句的方法
- 如何使用Ramda通过“where”比较测试对象中的属性值
- Where is WebKit + V8?
- 如何在 alasql 中的 where 子句中放置特定日期
- 如何在单个查询中添加多个 AND 和 WHERE
- js:如何在查询中使用where和orWhere