如何从数据库中获取价值?
问题描述:
如何从表中获取物品?我想从问题列中获取值,使用条件。如何从数据库中获取价值?
@result = Customers.where(:name => session[:username], :email => session[:useremail])
现在,我可以从任何列获得价值吗?像这样:@ result.column_from_customers_table,对不对?
答
这是初学者常犯的错误。你有的代码返回一个ActiveRecord::Relation
对象,但实际上并没有连接到你的数据库。为了得到一个记录,你必须通过每一个结果循环或者调用.first
就可以得到第一个匹配结果
# returns an ActiveRecord::Relation object
@results = Customers.where(:name => session[:username], :email => session[:useremail])
# returns the first matching record
@object = @results.first
# then you can call the column names on @object
@object.name
@object.email
# looping through the results
@results.each do |object|
puts object.name
puts object.email
end