Hei there。 我的Rails應用程序出現了一個大問題。我需要選擇最後一天獲得最多追隨者的用戶。我有一個叫做關係的模型,連接關注者和關注用戶。 這裏是我的代碼:指定名稱來計算聚合Ruby on Rails
wins = Relationship.select("followed_id, count(follower_id) AS num_foll").where(:created_at => (Time.now-1.day)..Time.now).group(:followed_id).order("count(follower_id) DESC")
我沒有選擇,因爲我要處理多個獲獎者的第一個。事實上,這一步後,我已經有了:
max_followers = wins.select("num_foll").first.num_foll
wins.each() do |win| [...]
但Rails的不能訪問該num_foll,扔我的錯誤:
no such column: num_foll.
有一些約定或者一些自動分配的名稱計數聚合?我真的無法弄清楚。考慮到如果我只選擇第一個,查詢似乎工作。
在此先感謝。
您是否嘗試過'max_followers = wins.first.num_foll'? –