我對rails和sql都比較陌生。我在生產中使用postgres。如何獲得一組記錄的總和?
我有一個Like
模型,並通過多態性,它有屬性likeable_type
和likeable_id
,這是怎麼在我的Photo
模型的項目爲「喜歡」的用戶。我可以通過類似對象訪問照片,如like.likeable
,當可贊同對象的Photo
爲likeable_type
,照片的ID爲likeable_id
。
我的問題:我希望能夠獲得過去24小時內最喜歡的照片列表,其中最喜歡的照片在最上面,最不喜歡的照片在訂單底部。我該怎麼做呢?
到目前爲止,我知道我的代碼應該看起來像
likes = Like.find(:all, :conditions => { :created_at => 1.days.ago.utc...Time.now.utc, :likeable_type => "Photo" })
likes = likes.group(--- something here --- , SUM(--- something here ---))
,但我不是很能推算正確的語法shoule是什麼。
任何幫助將非常感謝!
換句話說,我期望做的是在過去的24小時內統計類似表中創建的每個likeable_id的數量。誰能幫忙? – alik
任何提示也會有所幫助。真的需要弄清楚這一個,任何人都可以幫忙嗎? – alik