如何在rails中使用join操作来获得所需的结果

时间:2015-05-25 14:53:58

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.1 spree

我是Ruby-on-Rails的新手 我有下面提到的属性

的表

供应商 - 身份证,姓名,地址等------

变体 - 身份,价格等---

SupplierVariant- supplier_id,variant_id

LineItem - variant_id,order_id

还有一个名为'Order'的表,它具有line_items作为属性。每个'Order'对象通过lineitems链接到variant。我的要求是使用表之间的join操作从特定订单获取所有supplier_id

我正在使用'Spree'来构建我的应用程序,对于上面提到的问题,我在rails控制台中尝试了以下内容

ord=Spree::Order.find_by_number("R1218823")

var=ord.line_items.joins(:variant)

直到这里工作正常,但当我var.joins(:SupplierVariant)时,我收到了错误。

1 个答案:

答案 0 :(得分:0)

你应该通过蛇类名称。

order.line_items.joins(:variants => [ { :supplier_varients => :suppliers }])