目標:用戶登錄,並看到他們訂閱的電視節目的下一集節目列表。因此,有三個常規表(用戶,TvShows,Episodes)和一個連接表(訂閱,即加入用戶和TvShow)。如何獲取模型實例及其包含,以及包含'includes?
的車型:
- TvShow
has_many :users, through: :subscriptions
has_many :episodes
has_many :subscriptions
- 情節,
belongs_to :tv_show
- 用戶
has_many :tv_shows, through: :subscriptions
has_many :subscriptions
- 認購
belongs_to :tv_show
belongs_to :user
要獲取用戶訂閱的節目列表,我可以說current_user.subscriptions(includes: :tv_show).all
。我想要選擇當前用戶的訂閱,包括電視節目,並且包括該節目的內容。
如果可能的話,甚至更具體,我想只包括一個插曲:以儘可能低的airtime
值插曲(通話時間是劃時代的時間)> Time.now.to_i
(即該播出下一集)。
我已經試過在文檔和Google上搜索這個,但是對於我來說這是一個很難用30個字來描述的問題,所以我沒有太多的運氣來解決它。我想在這裏得到一些幫助。
'current_user.joins(:tv_shows)。加入(:劇集)' – max