不要怂,就是干,撸起袖子干!

Commit 94b9eed9 by Mick Hansen

fix(sql): use _.size rather than key length to also support arrays

1 parent 16d3d716
...@@ -1661,7 +1661,7 @@ module.exports = (function() { ...@@ -1661,7 +1661,7 @@ module.exports = (function() {
if (Array.isArray(value)) { if (Array.isArray(value)) {
value = value.map(function (item) { value = value.map(function (item) {
var itemQuery = self.whereItemsQuery(item, options, ' AND '); var itemQuery = self.whereItemsQuery(item, options, ' AND ');
if (Object.keys(item).length > 1) itemQuery = '('+itemQuery+')'; if (_.size(item) > 1) itemQuery = '('+itemQuery+')';
return itemQuery; return itemQuery;
}).filter(function (item) { }).filter(function (item) {
return item && item.length; return item && item.length;
......
...@@ -186,6 +186,12 @@ suite(Support.getTestDialectTeaser('SQL'), function() { ...@@ -186,6 +186,12 @@ suite(Support.getTestDialectTeaser('SQL'), function() {
default: "([group_id] = 1 OR [user_id] = 2)" default: "([group_id] = 1 OR [user_id] = 2)"
}); });
}); });
test("sequelize.or({group_id: 1}, {user_id: 2, role: 'admin'})", function () {
expectsql(sql.whereItemQuery(undefined, this.sequelize.or({group_id: 1}, {user_id: 2, role: 'admin'})), {
default: "([group_id] = 1 OR ([user_id] = 2 AND [role] = 'admin'))"
});
});
}); });
suite('$and', function () { suite('$and', function () {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!