检索 Rails 中的数据库记录
Retrieve database records in Rails
我的名为 Person
的模型包含 3 列,即 name
、age
、gender
。
现在如何获取 gender = "male"
的所有行。我试着
如下所示获取数据。
p = Person.find_by_gender("male")
以上语句正常工作。但是它returns只有1条记录。因为,该语句被转换为类似以下查询。
SELECT "persons".* FROM "persons" WHERE "persons"."gender" = LIMIT 1 [["gender", "male"]]
由于limit设置为1所以returns只有1条记录。那么,如何取消限制? 如果gender
,我的要求是获取table中的所有记录
匹配 "male"
。
使用where
Person.where(gender: "male")
find
方法总是returns只有一条记录
在 rails 中查找方法总是 return 单条记录,这就是为什么它 returning 单条记录。
Person.find_by_gender("male")
使用 Where 为您提供匹配记录数组(即 ActiveRecord::Relation)
Person.where(:gender => "male")
我的名为 Person
的模型包含 3 列,即 name
、age
、gender
。
现在如何获取 gender = "male"
的所有行。我试着
如下所示获取数据。
p = Person.find_by_gender("male")
以上语句正常工作。但是它returns只有1条记录。因为,该语句被转换为类似以下查询。
SELECT "persons".* FROM "persons" WHERE "persons"."gender" = LIMIT 1 [["gender", "male"]]
由于limit设置为1所以returns只有1条记录。那么,如何取消限制? 如果gender
,我的要求是获取table中的所有记录
匹配 "male"
。
使用where
Person.where(gender: "male")
find
方法总是returns只有一条记录
在 rails 中查找方法总是 return 单条记录,这就是为什么它 returning 单条记录。
Person.find_by_gender("male")
使用 Where 为您提供匹配记录数组(即 ActiveRecord::Relation)
Person.where(:gender => "male")