我有一个这样的sql:
SELECT TOP 1 field_name * FROM table_name
而且我想将其隐藏到rails中的activerecord中。
该代码不起作用吗?
YourModel.select(:field_name).first
或
YourModel.select(:field_name).order('id desc').first
只需使用limit(1)
或first
:
Model.select(:field_name).limit(1)
从Rails 6开始,您可以使用以下内容:
YourModel.order(id: :desc).pick(:field_name)
pick的效率甚至比
YourModel.select(:field_name).order('id desc').first
因为它只会加载实际值,而不是整个记录对象。
有关更多详细信息,请遵循此link to docs。