我无法获得查询语法:
我有频道,其功能类似于博客中的“类别”。我有像帖子一样的节目。 Show有一个布尔'已批准',所以它是真的还是假的。频道也有位置..频道有很多节目。
如何通过位置顺序获取所有通道,只显示已批准= true?
我尝试了这个:Channel.includes(:shows).order('channels.position')
,这让我获得了正确位置的频道,虽然我已经可以channel.shows
,但无论是否{{}},它都会将所有节目分配到该频道{1}}。
show.approved=true
都会返回所有频道和节目。
Channel.includes(:shows).order('channels.position')
仅返回已获批准的频道,跳过没有经过批准的内容的频道;但是无论节目的状态如何,我都需要返回频道,但是他们的节目是空数组。
答案 0 :(得分:1)
我个人使用Ruby(仍然需要加强一些SQL):
channels = Channel.includes(:shows).order('channels.position')
channels.each { |c| c.shows.keep_if(&:approved?) }