因此,我有這個「高級」查詢(沒有太多,真的),我想將它翻譯成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