rails-activerecord SELECT TOP 1 field_name * FROM table_name

问题描述 投票:3回答:3

我有一个这样的sql:

SELECT TOP 1 field_name * FROM table_name

而且我想将其隐藏到rails中的activerecord中。

ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1
3个回答
4
投票

该代码不起作用吗?

YourModel.select(:field_name).first

YourModel.select(:field_name).order('id desc').first

3
投票

只需使用limit(1)first

Model.select(:field_name).limit(1)

0
投票

从Rails 6开始,您可以使用以下内容:

YourModel.order(id: :desc).pick(:field_name)

pick的效率甚至比

YourModel.select(:field_name).order('id desc').first

因为它只会加载实际值,而不是整个记录对象。

有关更多详细信息,请遵循此link to docs

也有reference to the corresponding PR

© www.soinside.com 2019 - 2024. All rights reserved.