Cope with being asked to find relations for any empty set of objects.
This commit is contained in:
parent
d2a42056f7
commit
b9fc5e662b
1 changed files with 18 additions and 6 deletions
|
@ -106,20 +106,32 @@ class Relation < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.find_for_nodes(ids, options = {})
|
def self.find_for_nodes(ids, options = {})
|
||||||
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'node' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
if ids.empty?
|
||||||
return self.find(:all, options)
|
return []
|
||||||
|
else
|
||||||
|
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'node' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
||||||
|
return self.find(:all, options)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.find_for_ways(ids, options = {})
|
def self.find_for_ways(ids, options = {})
|
||||||
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'way' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
if ids.empty?
|
||||||
return self.find(:all, options)
|
return []
|
||||||
|
else
|
||||||
|
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'way' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
||||||
|
return self.find(:all, options)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.find_for_relations(ids, options = {})
|
def self.find_for_relations(ids, options = {})
|
||||||
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'relation' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
if ids.empty?
|
||||||
return self.find(:all, options)
|
return []
|
||||||
|
else
|
||||||
|
self.with_scope(:find => { :joins => "INNER JOIN current_relation_members ON current_relation_members.id = current_relations.id", :conditions => "current_relation_members.member_type = 'relation' AND current_relation_members.member_id IN (#{ids.join(',')})" }) do
|
||||||
|
return self.find(:all, options)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue