1
我有一個擁有votes_count的視頻模型。我已經有了一個獲取當前等級的方法。獲取當前投票等級的快速方法?
def rank
videos = Video.order('votes_count DESC')
videos.index(self)+1
end
是否有更簡單的解決方案,使用更少的cpu?
在此先感謝
我有一個擁有votes_count的視頻模型。我已經有了一個獲取當前等級的方法。獲取當前投票等級的快速方法?
def rank
videos = Video.order('votes_count DESC')
videos.index(self)+1
end
是否有更簡單的解決方案,使用更少的cpu?
在此先感謝
只計算比當前視頻投票次數多的視頻。這個數字加1就是你的等級。
def rank
Video.where('votes_count > #{votes_count}').count + 1
end
對於優化操作,您可以使用de sql查詢運算符MAX並將工作傳輸到您的數據庫引擎。
def rank
ret = Video.select('max(votes_count) as rank')
ret.rank
end
非常感謝! – Oliver 2012-08-02 21:04:04