Rails Association使用外键和通过

时间:2018-05-07 15:12:46

标签: ruby-on-rails activerecord

我有3张桌子:

  • 商品
  • point_of_sale (属性custom_point_of_sale_uuid在此处唯一作为主键)
  • pos_transaction

当我尝试连接表以获取商店名称时,我得到nil个值。

  @transactions = PosTransaction
    .where(:organization_id => "54846c4a-1517-43ff-8f02-e4b34de8a5a9")
    .joins(:point_of_sale)
    .joins(:store)
    .select('stores.name')

point_of_sale pos_transaction 通过custom_point_of_sale_uuid链接

我做错了什么? 看看我制作的关联图。

感谢您的帮助

enter image description here

1 个答案:

答案 0 :(得分:0)

您在pos_transaction

中拥有此关联
has_one :store, through: :point_of_sale

所以你可以打电话:

@transactions = PosTransaction
.find_by(organization_id: "54846c4a-1517-43ff-8f02-e4b34de8a5a9")
.store.name