我有一个模型圈:
class Lap < ActiveRecord::Base
belongs_to :car
def self.by_carmodel(carmodel)
scoped = joins(:car_model).where(:car_models => {:name => carmodel})
scoped
end
def self.fastest_per_car
scoped = select("laps.id",:car_id, :time, :mph).group("laps.id", :car_id, :time, :mph).order("time").limit(1)
scoped
end
end
我只想返回每辆车的最快圈速。
因此,我需要按 Lap.car_id 对 Laps 进行分组,然后仅返回基于该车的最快单圈时间,这将由 Lap.time 列确定
基本上我想将我的方法堆叠在我的控制器中:
@corvettes = Lap.by_carmodel("Corvette").fastest_per_car
希望这是有道理的......
当尝试仅运行Lap.fastest_per_car时,我将所有内容限制为 1 个结果,而不是每辆车 1 个结果。
我必须做的另一件事是添加“laps.id”,因为 :id 在我的结果中也显示为空。如果我只是 select(:id) 它说的是模棱两可