Ho scritto un paio di query complesse (almeno a me) con Ruby sull'interfaccia di query di 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})
Entrambe queste query funzionano bene da sole. Entrambi restituiscono oggetti Post. Vorrei combinare questi post in un unico ActiveRelation. Poiché a un certo punto potrebbero esserci centinaia di migliaia di post, è necessario farlo a livello di database. Se fosse una query MySQL, potrei semplicemente utilizzare l' UNION
operatore. Qualcuno sa se posso fare qualcosa di simile con l'interfaccia di query di RoR?
Post.watched_news_posts.watched_topic_posts
. Potrebbe essere necessario inviare parametri agli ambiti per cose come:user_id
e:topic
.