ruby-on-rails – ActiveRecord的finder方法之间的差异:take vs limit(1)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ActiveRecord的finder方法之间的差异:take vs limit(1)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
考虑到ActiveRecord的以下finder方法.

> .take.例. Account.take
> .limit(1)示例. Account.limit(1)

现在,
这两种方法虽然具有不同的名称,但它们生成相同的查询

SELECT "accounts".* FROM "accounts" LIMIT 1

那么,take& amp; .limit(1)?或者他们是一样的?

解决方法

docs
# File activerecord/lib/active_record/relation/finder_methods.rb,line 64
def take(limit = nil)
  limit ? limit(limit).to_a : find_take 
end

take返回一个记录数组,而limit返回一个可以与其他关系链接的ActiveRecord关系.

猜你在找的Ruby相关文章