Извиняюсь за довольно запутанный заголовок, мне довольно сложно правильно сформулировать этот вопрос.
У меня есть модель, назовите ее Thing
, которая has_many :related_things
, has_many :associated_dates
и has_many :assignments
(пользователи назначены на вещи).Я хочу сделать один запрос, чтобы выбрать все связанные даты из Thing
, который назначен пользователю, а также все связанные даты из связанных вещей.
На данный момент у меня есть это, которое работаетдля получения связанных дат, которые непосредственно назначены:
AssociatedDate.includes(:thing)
.includes(:thing => :assignments)
.where('assignments.user_id' => id)
Однако мои попытки загрузить также те даты, которые связаны через :related_things
, не загружаются.Самое близкое, что у меня есть, это просто включение :related_things
в запрос:
AssociatedDate.includes(:thing)
.includes(:thing => [:assignments, :related_things])
.where('assignments.user_id' => id)
Но тогда я не знаю, куда идти дальше, и само по себе это не влияет нарезультат запроса.Возможен ли выбор, который я хочу, и как мне это сделать?