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

Commit 3459f4d2 by Jan Aagaard Meier

add: groupedLimit.through.where

1 parent 1c49aee9
# NEXT
- [FIXED] groupedLimit.through.where support
# 3.24.5 # 3.24.5
- [FIXED] GroupedLimit when foreignKey has a field alias - [FIXED] GroupedLimit when foreignKey has a field alias
......
...@@ -1445,9 +1445,9 @@ var QueryGenerator = { ...@@ -1445,9 +1445,9 @@ var QueryGenerator = {
association: options.groupedLimit.on.manyFromSource, association: options.groupedLimit.on.manyFromSource,
duplicating: false, // The UNION'ed query may contain duplicates, but each sub-query cannot duplicating: false, // The UNION'ed query may contain duplicates, but each sub-query cannot
required: true, required: true,
where: { where: _.assign({
'$$PLACEHOLDER$$': true '$$PLACEHOLDER$$': true
} }, options.groupedLimit.through && options.groupedLimit.through.where)
}], }],
model: model model: model
}); });
......
...@@ -133,6 +133,38 @@ suite(Support.getTestDialectTeaser('SQL'), function() { ...@@ -133,6 +133,38 @@ suite(Support.getTestDialectTeaser('SQL'), function() {
['id_user', 'id'] ['id_user', 'id']
], ],
order: [ order: [
['last_name', 'ASC']
],
groupedLimit: {
limit: 3,
through: {
where: {
status: 1
}
},
on: User.Projects,
values: [
1,
5
]
}
}, {
default: 'SELECT [user].* FROM ('+
[
'(SELECT [user].[id_user] AS [id], [user].[last_name] AS [subquery_order_0], [project_users].[user_id] AS [project_users.userId], [project_users].[project_id] AS [project_users.projectId] FROM [users] AS [user] INNER JOIN [project_users] AS [project_users] ON [user].[id_user] = [project_users].[user_id] AND [project_users].[project_id] = 1 AND [project_users].[status] = 1 ORDER BY [subquery_order_0] ASC'+ (current.dialect.name === 'mssql' ? ', [id_user]' : '') + sql.addLimitAndOffset({ limit: 3, order: ['last_name', 'ASC'] })+')',
'(SELECT [user].[id_user] AS [id], [user].[last_name] AS [subquery_order_0], [project_users].[user_id] AS [project_users.userId], [project_users].[project_id] AS [project_users.projectId] FROM [users] AS [user] INNER JOIN [project_users] AS [project_users] ON [user].[id_user] = [project_users].[user_id] AND [project_users].[project_id] = 5 AND [project_users].[status] = 1 ORDER BY [subquery_order_0] ASC'+ (current.dialect.name === 'mssql' ? ', [id_user]' : '') +sql.addLimitAndOffset({ limit: 3, order: ['last_name', 'ASC'] })+')'
].join(current.dialect.supports['UNION ALL'] ?' UNION ALL ' : ' UNION ')
+') AS [user] ORDER BY [subquery_order_0] ASC;'
});
testsql({
table: User.getTableName(),
model: User,
attributes: [
['id_user', 'id']
],
order: [
['id_user', 'ASC'] ['id_user', 'ASC']
], ],
where: { where: {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!