0
ダウンロードしたファイルを保持するartifacts
テーブルがあります。各タイプは異なるデータを保持します。単一のアカウントについてはRailsはサブクラスをクエリし、それぞれを制限します
class Artifact < ActiveRecord::Base
end
class ForecastArtifact < Artifact
end
class ChargebackArtifact < Artifact
end
class CatalogArtifact < Artifact
end
、私は、各案件タイプの最新のを照会しています:
artifact_types = Artifact.subclasses.map(&:to_s)
artifacts_for_account = artifact_types.map do |type|
@account.artifacts
.where(type: type)
.order("valid_as_of DESC")
.limit(1).first
.as_json({only: [:id, :account_id, :type]})
end
残念ながらこれはNクエリを行います。
これに対して行うクエリは1つだけですか?この問題を解決するためのより多くのレールスタイル?あなたは、PostgreSQLを使用している場合
クエリのモデリングとデータの取得に問題があるように見えます。あなたのDBでクエリを動作させ、それをRails/Active Recordに変換してください。 – Sairam
データベース構造を共有してもらえますか? –