以下是我要完成的模型文件中的作用域,以获取从第5条记录到称为“与会者”的表末尾的所有记录:
scope:waiting_list,-> {where(will_not_attend:false)}
非常感谢您的协助。谢谢。
答案 0 :(得分:0)
这将帮助您:
Attendee.last(Attendee.count - 5)
以上代码将跳过前五个记录,并返回Array
中的其余记录。
您想要的范围将是:
scope :waiting_list, -> { where(will_not_attend: false).last(Attendee.count - 5) }
答案 1 :(得分:0)
跳过记录的最后数目然后获取剩余的记录不是一个好方法,因为数据库中可能会有新的插入导致无效的记录。
您可以根据需要使用offset
跳过行数。
scope :waiting_list, -> { where(will_not_attend: false).order(created_at: :asc).offset(Attendee.count - 5) }