Rails4-如何获取范围内的最后一行数据



在rails 4中,我想要获取范围内的最后一行数据。我有称为AbcAbcRootAbcRootDisabling的模型,以及Abc模型内部的

def self.including_abc_disablings
joins('JOIN abc_roots_abcs as crc ' 
'ON crc.abc_id = abcs.id').
joins('LEFT OUTER JOIN abc_root_disablings as disablings ' 
'ON crc.abc_root_id = disablings.abc_root_id')
end
private_class_method :including_abc_disablings
scope :not_disabled, -> {
including_abc_disablings.where(disablings: { id: nil })
}

这里,abc有很多禁用,在检查范围内的条件时,我需要进行最后一行禁用,并且我需要检查disablings.id是零还是disablings.enabled_at不是nil

我怎样才能做到这一点?请帮帮我。

获取"最后一个";根据最后一个的一些定义(例如created_at(,记录将是:

including_abc_disablings.where(disablings: { id: nil }).order(created_at: 'desc').limit(1)

换句话说,按照最近的第一条进行排序,并获取第一条记录。

最新更新