mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
group can be done by left side only
This commit is contained in:
@@ -199,15 +199,12 @@ module ActiveRecord
|
||||
equalities = wheres.grep(Arel::Nodes::Equality)
|
||||
|
||||
groups = equalities.group_by do |equality|
|
||||
left = equality.left
|
||||
# table, column
|
||||
[left.relation.name, left.name]
|
||||
equality.left
|
||||
end
|
||||
|
||||
groups.each do |_, eqls|
|
||||
head = eqls.first
|
||||
test = eqls.inject(head) do |memo, expr|
|
||||
expr == head ? expr : memo.or(expr)
|
||||
test = eqls.inject(eqls.shift) do |memo, expr|
|
||||
memo.or(expr)
|
||||
end
|
||||
arel = arel.where(test)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user