Ole*_*sko 23 ruby-on-rails ruby-on-rails-3
我可以在下面的例子中找到我的表中的最后一条记录,但是如果我想在最后一个之前找到记录,例如(last-1)或(last-2)..?我在每个循环中都有这个例子:
Table.find(:last, :conditions => {:dogovor_id => p.id}).id
Run Code Online (Sandbox Code Playgroud)
fl0*_*00r 27
Table.where(:dogovor_id => p.id).order("id DESC").first # last
Table.where(:dogovor_id => p.id).order("id DESC").offset(1).first # last - 1
Table.where(:dogovor_id => p.id).order("id DESC").offset(2).first # last - 2
Run Code Online (Sandbox Code Playgroud)
use*_*917 14
您可以使用负指数.
倒数第二个元素的索引为-2:
Model.last(2).first
Run Code Online (Sandbox Code Playgroud)
第10到最后:
Model.second_to_last
Model.third_to_last
Run Code Online (Sandbox Code Playgroud)
在Rails 5中,倒数第二个形成second_to_last并second_to_last 具有别名.所以,如果你想,请使用:
Model.all[-2]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8687 次 |
| 最近记录: |