ohho ohho - 6 months ago 15
SQL Question

How to access Mysql::Result in ActiveRecord?

Example:

result = ActiveRecord::Base.connection.execute("select 'ABC'")


How can I get the
'ABC'
value from
result
? Tried
result.first
without success. Thanks

p.s. Gems:


activerecord (2.3.9)

mysql (2.8.1)

Answer

You could try it on the cosole:

script/console # rails 2
rails console  # rails 3

enter your code in the console and you get:

irb> result = ActiveRecord::Base.connection.execute("select 'ABC'")
 => [{0=>"ABC", "'ABC'"=>"ABC"}] 

so it you get it with

result.first[0]
# or
result.first['ABC']

result.first just returns the first row, not the first value. This row consists of a Hash with numerical and named access.

Comments