diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-09-24 19:50:57 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-09-24 19:50:57 +0000 |
commit | caaf40d5358ae8a2b31949c2af2d94be1be73976 (patch) | |
tree | 4a7d7cb629b8e730e0f2981fea60458eedcf9992 /activerecord/lib/active_record/connection_adapters | |
parent | 66820a4aa70889a02f48eb860727daa31639aab3 (diff) | |
download | rails-caaf40d5358ae8a2b31949c2af2d94be1be73976.tar.gz rails-caaf40d5358ae8a2b31949c2af2d94be1be73976.tar.bz2 rails-caaf40d5358ae8a2b31949c2af2d94be1be73976.zip |
Added AbstractAdapter#select_value and AbstractAdapter#select_values as convenience methods for selecting single values, instead of hashes, of the first column in a SELECT #2283
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2323 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rwxr-xr-x | activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index a1a71afb5b..fed51fea18 100755 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -275,6 +275,19 @@ module ActiveRecord # Returns a record hash with the column names as a keys and fields as values. def select_one(sql, name = nil) end + # Returns a single value from a record + def select_value(sql, name = nil) + result = select_one(sql, name) + result.nil? ? nil : result.values.first + end + + # Returns an array of the values of the first column in a select: + # select_values("SELECT id FROM companies LIMIT 3") => [1,2,3] + def select_values(sql, name = nil) + result = select_all(sql, name) + result.map{ |v| v.values.first } + end + # Returns an array of table names for the current database. # def tables(name = nil) end |