【发布时间】:2014-10-19 07:52:38
【问题描述】:
我的 Rails 4.1 应用程序中有以下模型结构:
delivery_service.rb
class DeliveryService < ActiveRecord::Base
attr_accessible :name, :description, :courier_name, :active, :country_ids
has_many :prices, class_name: 'DeliveryServicePrice', dependent: :delete_all
end
delivery_service_price.rb
class DeliveryServicePrice < ActiveRecord::Base
attr_accessible :code, :price, :description, :min_weight, :max_weight, :min_length, :max_length,
:min_thickness, :max_thickness, :active, :delivery_service_id
belongs_to :delivery_service
end
如您所见,送货服务有很多送货服务价格。我正在尝试从送货服务价格表中检索记录; 在外键的唯一范围内选择具有最低价格属性的记录,delivery_service_id(因此本质上是每个送货服务最便宜的送货服务价格)。
如何从表中选择唯一记录,以外键属性为范围?
我希望我已经解释得够多了,如果您需要更多信息,请告诉我。
谢谢
更新 #1:
我想要实现的示例:
delivery_service_prices 表:
id:1,价格:2.20,delivery_service_id:1
id:2,价格:10.58,delivery_service_id:1
id:3,价格:4.88,delivery_service_id:2
id:4,价格:1.20,delivery_service_id:2
id:5,价格:14.99,delivery_service_id:3
预期结果:
id:1,价格:2.20,delivery_service_id:1
id:4,价格:1.20,delivery_service_id:2
id:5,价格:14.99,delivery_service_id:3
【问题讨论】:
标签: ruby-on-rails database ruby-on-rails-3 postgresql activerecord