我编写跟随代码以从表webeehs
中获取一条记录:
webeehs_result = Webeeh.find(:all, :conditions=>["webeeh_project_id=#{project_id}"])
然后我想从这条记录中得到一个列值,我该怎么办?
例如,列名称为webeeh_date
。
答案 0 :(得分:4)
首先,永远不要写那样的代码。将自己的条件构建为纯字符串可能会使您容易受到SQL注入攻击。如果你必须做条件,那就这样做:
:conditions => ["webeeh_project_id = ?", project_id]
如果您有项目模型,则应将Webeeh模型中的webeeh_project_id
列重命名为project_id
,并在项目模型中添加关联,如has_many :webeehs
然后,您不再需要再调用该查找,只需执行p = Project.find(id)
,然后p.webeehs
将返回您需要的webeeh。
结果将是一个可以迭代的数组。要获得webeeh.webeeh_date
成员,请按以下方式调用:
result.each do |webeeh|
date = webeeh.webeeh_date
end
答案 1 :(得分:2)
webeehs_result = Webeeh.findwebeeh_dates
足以获取所有列值。
对于其他方法和性能问题,请检查以下内容:http://www.stopdropandrew.com/2010/01/28/finding-ids-fast-with-active-record.html
答案 2 :(得分:0)
webeeh_result通常是数据库的结果数组。
您可以使用
进行迭代webeehs_result.each do |webeeh| # use "webeeh.webeeh_date" to access the column_name or do whatever you want with it. end