Rails Association использует внешний ключ и через - PullRequest
0 голосов
/ 07 мая 2018

У меня есть 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 голосов
/ 07 мая 2018

У вас есть эта ассоциация в pos_transaction:

has_one :store, through: :point_of_sale

Так что вы можете просто позвонить:

@transactions = PosTransaction
.find_by(organization_id: "54846c4a-1517-43ff-8f02-e4b34de8a5a9")
.store.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...