У меня есть приложение рельсы со следующими моделями:Rails SQL запросы на таблицу соединения
class Partner < ActiveRecord::Base
has_many :timesheets
has_many :timeslots, through: :timesheets
# ...
end
class Timeslot < ActiveRecord::Base
has_many :timesheets
has_many :partners, through: :timesheets
# ...
end
class Timesheet < ActiveRecord::Base
belongs_to :partner
belongs_to :timeslot
# ...
end
Обратите внимание, как Timesheet служит присоединиться к таблице сортов для хранения пар Партнера-Timeslot. Я хочу получить все такие пары Partner-Timeslot, где временные интервалы выполняют какое-то условие. Мне вообще неинтересно об объекте Timesheet для этого запроса. Я работал, что соответствующий SQL является то, что вдоль линий:
SELECT partners.*, timeslots.*
FROM timesheets
JOIN partners
ON timesheets.partner_id = partners.id
JOIN timeslots
ON timesheets.timeslot_id = timeslots.id
WHERE (...some condition logic that I can figure out on my own...)
Обратите внимание, как хотя я запрашивая таблицу Timesheets я на самом деле только хочу партнера и Timeslot объекты.
Можете ли вы сделать это с помощью Rails?
Есть ли лучший способ сделать это?
Прочая информация:
Я использую MySQL в качестве базы данных
Я нашел to_json, чтобы быть более полезным, чем to_yaml, но спасибо! Я думаю, что, наконец, я начинаю понимать этот материал. – dwoodwardgb