我用 Ruby on Rail 的查询界面编写了几个复杂的查询(至少对我来说是这样) :
watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id})
watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id})
这两个查询本身都可以很好地工作。两者都返回 Post 对象。我想把这些帖子组合成一个 ActiveRelations。由于在某个时候可能会有成千上万的帖子,所以这需要在数据库级别上完成。如果它是一个 MySQL 查询,我可以简单地使用 UNION
操作符。有人知道我是否可以对 RoR 的查询界面做类似的事情吗?