我有一个这样的sql:
SELECT TOP 1 field_name * FROM table_name
我想把它转换成rails中的activerecord。
我有一个这样的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
因为,它只会加载实际值,而不是整个记录对象。
有关更多详细信息,请点击此链接到 docs。
此外,还有对相应 PR 的引用。