在rails中我有一个事件表。我希望在索引页面上向用户显示时,对我的事件执行以下类型的排序。
Event.near(center_location).where(“started_at< =?”, Date.today).reorder(“started_at DESC”)
我有代码
Event.with_distance_to(center_location).limit(limit_of_search).reorder(“#{ '距离'} ASC“)
我的问题是我想在第一步后剩下的其他事件上执行第二步 请建议 提前谢谢。
答案 0 :(得分:2)
all_events = Event.all
nearby_events = all_events.where("started_at <= ?", Date.today).reorder("started_at DESC")
other_events = (all_events - nearby_events).limit(limit_of_search).reorder("#{'distance'} ASC")
如果你想将它们重新附加在一起作为单个数组返回:
return nearby_events + other_events