我需要执行以下查询:
SELECT * FROM "specimens" ORDER BY distribution_sheet_id DESC LIMIT 10
我放了:
<%= Specimen.last(:order => :distribution_sheet_id).id %>
我喜欢输出'limit 10'而不是限制1.我认为它是.last,但是我可以用其他方式表达它来限制10。
由于
答案 0 :(得分:5)
假设您使用的是Rails 3
<%= Specimen.limit(10).order("distribution_sheet_id").all %>
请注意,如果您限制为超过1条记录,则最后无法调用#id
,因为结果是数组。
获取所有ID
<%= Specimen.limit(10).order("distribution_sheet_id").map(&:id) %>
对于Rails 2.3,使用旧的基于哈希的条件。
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10) %>
同样适用于id
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id) %>
这里我使用#to_sentence
方法加入所有ID。根据您的使用情况调整代码。
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id).to_sentence %>
答案 1 :(得分:1)
<ul>
<% Specimen.find(:all, :order => 'distribution_sheet_id desc', :limit => 10).each do |specimen| %>
<li><%= specimen.id %></li>
<% end %>
</ul>