私はこのようなSQLを持っています:
SELECT TOP 1 field_name * FROM table_name
そして私はそれをrailsのactiverecordに変換したいと思います。
私はこのようなSQLを持っています:
SELECT TOP 1 field_name * FROM table_name
そして私はそれをrailsのactiverecordに変換したいと思います。
limit(1)
またはを使用するだけfirst
です:
Model.select(:field_name).limit(1)
そのコードは仕事をしませんか?
YourModel.select(:field_name).first
また
YourModel.select(:field_name).order('id desc').first
Rails 6以降、以下を使用できます。
YourModel.order(id: :desc).pick(:field_name)
ピックはよりもさらに効率的です
YourModel.select(:field_name).order('id desc').first
なぜなら、レコードオブジェクト全体ではなく、実際の値のみをロードするからです。
詳細については、ドキュメントへのこのリンクをたどってください。
また、対応するPRへの参照があります。