рельсы отношения между моделями, где первичный ключ не участвует - PullRequest
1 голос
/ 06 июня 2011

У меня есть 2 модели - Batch и Player

Batch has_many :players, :foreign_key => "PL_BATCH"
Player belongs_to :batch, :foreign_key => "PL_BATCH"

Таблица batches содержит следующие поля:

-BA_OID (defined as the primary key)
-BA_BATCH_ID
-BA_NAME

Таблица players содержит поле PL_BATCH, которое является внешним ключом BA_BATCH_ID.

Обратите внимание, что я использую устаревшую базу данных, и столбец BA_OID определен как первичный ключ таблицы пакетов в MySQL. Однако BA_BATCH_ID используется в качестве FK в таблице игроков

Серийная модель:

  set_table_name "batches"
  set_primary_key "BA_OID"
  has_many :players, :foreign_key => "PL_BATCH"

Как мне определить отношения между партиями и моделями игроков?

Спасибо за вашу помощь

1 Ответ

2 голосов
/ 06 июня 2011

Ты почти у цели!Попробуйте следующее ...

Batch:

has_many :players, :primary_key => "BA_BATCH_ID", :foreign_key => "PL_BATCH", :class_name => "Player"

Player:

belongs_to :batch, :primary_key => "BA_BATCH_ID", :foreign_key => "PL_BATCH", :class_name => "Batch"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...