Модель Rails, которая соединяется через таблицу соединений - PullRequest
0 голосов
/ 26 июня 2009

Возможно ли это?

В системе событий событие может иметь несколько раз. (то есть, если это 3-х дневное мероприятие и каждый день в разное время). Каждый раз есть место, связанное с этим. Наконец, каждое место имеет адрес, связанный с ним. Теперь я могу ссылаться на эти адреса через мою модель событий?

Я думаю, концептуально что-то вроде этого:

class Event < ActiveRecord::Base
    has_many :TimePlaces
    has_many :Places :through => :TimePlaces
    has_many :Addresses :through => :PlaceAddresses :through => :Places

1 Ответ

4 голосов
/ 26 июня 2009

Это правильный синтаксис.

class Event < ActiveRecord::Base
    has_many :time_places
    has_many :places, :through => :time_places
    has_many :addresses, :through => :places

Несмотря на то, что это должно сработать, вы можете захотеть изменить дизайн своей базы данных. Выполнение запроса со слишком большим количеством объединений требует интенсивной обработки базы данных и резко замедляет работу вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...