我有一个具有 has_many 关系的模型,以及一个确定它是否有任何孩子的范围,例如:
scope :with_nomination, :include => [:nomination], :conditions => "nominations.service_id IS NOT NULL"
使用它,我可以做类似的事情,Service.with_nomination
并收到一份包含提名儿童的所有服务的清单。
问题是,当我Service.select("id, firstName, lastName").with_nomination
在 essense 中执行 ActiveRecord之类的操作时,这样做SELECT * FROM services
非常糟糕,并且没有使用我煞费苦心设置的索引。
如何改写我的查询或修改我的范围以使用 .select() 命令?