Mik*_*ike 4 ruby ruby-on-rails
我需要做以下查询:
SELECT * FROM "specimens" ORDER BY distribution_sheet_id DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)
我已经把:
<%= Specimen.last(:order => :distribution_sheet_id).id %>
Run Code Online (Sandbox Code Playgroud)
我喜欢输出'limit 10'而不是限制1.我认为它是.last,但是我可以用其他方式表达它来限制10.
谢谢
假设您使用的是Rails 3
<%= Specimen.limit(10).order("distribution_sheet_id").all %>
Run Code Online (Sandbox Code Playgroud)
请注意,如果限制为多于1条记录,#id则最后无法调用,因为结果是数组.
获得所有的ID
<%= Specimen.limit(10).order("distribution_sheet_id").map(&:id) %>
Run Code Online (Sandbox Code Playgroud)
对于Rails 2.3,使用旧的基于哈希的条件.
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10) %>
Run Code Online (Sandbox Code Playgroud)
这同样适用于id
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id) %>
Run Code Online (Sandbox Code Playgroud)
在这里,我使用该#to_sentence方法加入所有ID.根据您的使用情况调整代码.
<%= Specimen.all(:order => "distribution_sheet_id", :limit => 10).map(&:id).to_sentence %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8036 次 |
| 最近记录: |