aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-04-04 04:56:23 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-04-04 04:56:23 +0000
commit9e799e731c7960e37ea928371e93590a79f36000 (patch)
tree1c27c766ef6a9989cbedca51c3cd0c5a587c275d
parent2cfe309dc498bedaa7ca78c16d1270c359f70cdd (diff)
downloadrails-9e799e731c7960e37ea928371e93590a79f36000.tar.gz
rails-9e799e731c7960e37ea928371e93590a79f36000.tar.bz2
rails-9e799e731c7960e37ea928371e93590a79f36000.zip
Prefix primary key with table name so it works as part of a joined fetch
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactiverecord/lib/active_record/base.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index df42303905..b4f1b3ba73 100755
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -318,7 +318,7 @@ module ActiveRecord #:nodoc:
when 0
raise RecordNotFound, "Couldn't find #{name} without an ID#{conditions}"
when 1
- if result = find(:first, options.merge({ :conditions => "#{primary_key} = #{sanitize(ids.first)}#{conditions}" }))
+ if result = find(:first, options.merge({ :conditions => "#{table_name}.#{primary_key} = #{sanitize(ids.first)}#{conditions}" }))
return expects_array ? [ result ] : result
else
raise RecordNotFound, "Couldn't find #{name} with ID=#{ids.first}#{conditions}"
@@ -326,7 +326,7 @@ module ActiveRecord #:nodoc:
else
# Find multiple ids
ids_list = ids.map { |id| sanitize(id) }.join(',')
- result = find(:all, options.merge({ :conditions => "#{primary_key} IN (#{ids_list})#{conditions}", :order => primary_key }))
+ result = find(:all, options.merge({ :conditions => "#{table_name}.#{primary_key} IN (#{ids_list})#{conditions}", :order => primary_key }))
if result.size == ids.size
return result
else