gpt4 book ai didi

ruby-on-rails - find 与 find_by 与 where

转载 作者:行者123 更新时间:2023-12-03 04:35:52 27 4
gpt4 key购买 nike

我是 Rails 新手。据我所知,查找记录的方法有很多种:

  1. find_by_<columnname>(<columnvalue>)
  2. find(:first, :conditions => { <columnname> => <columnvalue> }
  3. where(<columnname> => <columnvalue>).first

看起来它们最终都生成了完全相同的 SQL。另外,我相信查找多个记录也是如此:

  1. find_all_by_<columnname>(<columnvalue>)
  2. find(:all, :conditions => { <columnname> => <columnvalue> }
  3. where(<columnname> => <columnvalue>)

是否有使用哪一个经验法则或建议?

最佳答案

其中返回 ActiveRecord::Relation

现在看一下 find_by 的实现:

def find_by
where(*args).take
end

如您所见,find_bywhere 相同,但它只返回一条记录。此方法应用于获取 1 条记录,where 应用于获取具有某些条件的所有记录。

关于ruby-on-rails - find 与 find_by 与 where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161663/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com