重要警告:我们在我的公司使用 Rails 2。所以我正在寻找来自 ActiveRecord 2 的答案(如果存在的话)。
ActiveRecord 中是否已经包含一种方法来从数据库中获取属性的最新值,而无需调用 reload
或覆盖当前内存中的值?
例如:
p = Person.find(123)
# Now the in-memory value is "Joe", which would be overwritten
# if I called reload
p.nickname = "Joe"
# I want something like this to execute the equivalent of:
# SELECT 'nickname' FROM persons WHERE id = 123;
nickname_from_db = p.get_current_value(:nickname)
我意识到我的要求很容易实现;如果已经有一个 ActiveRecord 方法可以满足我的要求,我只是不想重新发明轮子。
最佳答案
您可以使用选择
选项。
Person.find(123, :select => "昵称")
关于ruby-on-rails - 是否有内置方法从数据库中获取单个 ActiveRecord 属性(忽略内存中的值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15148812/