JSONをReactフロントエンドに返すrails APIがあります。私は、コレクション内の各アイテムの計算値でソートしようとしています。私はarea
属性とcount
属性を持つSpace
モデルを持っています。私はtotal_area
によって応答を並べ替えるといいです。これはちょうどarea * count
です。私はsort_by
を使ってこれを行うことができるんだが、プロセスはさらに100未満のレコードを持つかなり遅いです:Activerecordで計算された値でソートする方法は?
def total_area
self.area * self.count
end
これを行うには、とにかくあり:total_area
はSpace
クラスメソッドである
@spaces = Space.all
@spaces = @spaces.sort_by(&:total_area)
データベース内で速度の向上を得るには?データベースでこれを行うことが可能である
PG::UndefinedColumn: ERROR: column spaces.count * area does not exist
です:私はorder
方法使用して試してみた:
@spaces.order("count * area" => :asc)
をしかし、私は、次のPostgresのエラーを取得しますか?どのように私ができるか、または私はこの種のより迅速に行うことができますどのような提案は非常に感謝します。