@c = Client.find( :all,
:select => ‘denominacao’,
:include => :works,
:conditions => ‘works.estado = 1’)
im trying to get only one field “denominacao” but i get them all, is
there a way to get only one, using activerecord ofc…
@c = Client.find( :all,
:select => ‘denominacao’,
:include => :works,
:conditions => ‘works.estado = 1’)
im trying to get only one field “denominacao” but i get them all, is
there a way to get only one, using activerecord ofc…
got it
thanks a lot
well, you’re going to get a bunch of Client objects using find,
however, you should only get the attributes you specify in the :select
option, instead of all the attributes.
User.find(:all, :select => ‘login’)
=> [#<User:0xb771061c @attributes={“login”=>“foo”}>, #<User:0xb77105e0
@attributes={“login”=>“goo”}>, #<User:0xb77105a4
@attributes={“login”=>“bar”}>, #<User:0xb7710568
@attributes={“login”=>“baz”}>]
User.find(:all, :select => ‘login’).collect { |u| u.login }
=> [“foo”, “goo”, “bar”, “baz”]
another option is to drop down into the connection and run your query,
if you want to skip the above, but you’ll have to write out your sql.
ActiveRecord::Base.connection.select_value(“select login from users”)
=> [“foo”, “goo”, “bar”, “baz”]
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs