因此,我有这个“高级”查询(没有太多,真的),我想将它翻译成Ruby Active Record的语法。将一些SQL查询转换为活动记录
SELECT microposts.*
FROM microposts
WHERE user_id IN
(SELECT r.followed_id as uid
FROM relationships r
WHERE follower_id = 1
UNION
SELECT u.id as uid
FROM users as u
WHERE id = 1
)
ORDER BY microposts.created_at DESC
当时的想法是检索所有微柱为用户1和用户1,随后在递减顺序创建用户,但我真的不知道如何翻译这个容易使用Active Record的语法。
有没有想法?
PS:由于要求在这里是一些轨道方面:
我有3种型号:Microposts
,Users
,Relationships
。
- 关系是一个处理所有用户关系(follower/follow stuff)的连接表。
- 用户通过关系有很多follow_users/followers。
- 用户有很多microhoops,microhoops有一个用户。
谢谢。
感谢您的可读性修复,ypercube :) – 2012-08-05 00:14:50