作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一件让我非常恼火的事情!我必须为几乎相同的查询编写 2 个不同的函数!
假设我有一个 API,它返回与特定 posts
和 typeId
关联的 cityId
。要获取与 ALL
和 typeId 1 OR 2, OR 3
相关联的 cityId 1
帖子,我会将以下内容解析为我的 Sequelize findAll
查询:
$or: [{typeId: 1}, {typeId: 2}, {typeId: 3}]
cityId: 1
cityId = 1 andOr typeId = 1,2,3,4,5,6,7,8,9,10,etc...
我不能做的事情的帖子:
var types = [{typeId: 1}, {typeId: 2}, {typeId: 3}]
Post.findAll({
where: {
if (types != []) $or: types,
cityId: 1
}
$or: types
where 子句的新查询......因为如果我解析一个空的
types
数组,我会得到一个奇怪的
sql
输出:
WHERE 0 = 1 AND `post`.`cityId` = '1'
最佳答案
您可以预先构建 where 对象。这是一个简单的例子
// Get typeIds from whatever source you have
// Here's an example
var typeIds = [1, 2, 3];
// Or you could try this to build a query without typeIds
// var typeIds = [];
var whereCondition = {};
if (typeIds.length > 0) {
whereCondition['$or'] = typeIds.map(function(id) {
return {
typeId: id
};
})
};
whereCondition['cityId'] = 1;
console.log(whereCondition);
Post.findAll(whereCondition).then(function(posts) {
// The rest of your logic
});
关于sequelize.js - Sequelize 可选的 where 子句参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36466395/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!