0

特定のグループで最高の ID を持つレコードを取得できるスコープを使用しています。最近、データベースにレコードを追加する方法を変更したので、ID が最も高いレコードが必ずしも最新のデータを含むレコードとは限りません。これは、:end_time が最も高いレコードになります。

scope :latest_record_in_group, unique.select('max(id) as id')

ここで、unique は次のとおりです。

scope :unique, group(:field_1, :field_2, :field_3, :field_4)

今私が必要としているのは、最高の :end_time を持つレコードの ID を選択することであり、私は困惑しています。グループ内のどのレコードがそのグループの代表として選択されるかをactiveRecordが決定する方法を変更できないようです。現状では、デフォルトで :id が最も高いレコードのようです。:end_time が最も高いレコードを選択する方法についての洞察をいただければ幸いです。

編集:曖昧さ回避

4

1 に答える 1