Ruby on rails 在Rails中获取列值
我有一张名为“学生”的桌子。 我需要从特定的学生那里获取电子邮件字段 例如,我在IRB中获得以下输出Ruby on rails 在Rails中获取列值,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有一张名为“学生”的桌子。 我需要从特定的学生那里获取电子邮件字段 例如,我在IRB中获得以下输出 Student.all Student Load (0.1ms) SELECT "students".* FROM "students" => [#<Student id: 1, name: "Bob", grade: 1, email_address: "bob@school.com", created_at: "2014-03-2
Student.all
Student Load (0.1ms) SELECT "students".* FROM "students"
=> [#<Student id: 1, name: "Bob", grade: 1, email_address: "bob@school.com", created_at: "2014-03-27 08:55:51", updated_at: "2014-03-27 08:55:51">, #<Student id: 2, name: "Neo", grade: 1, email_address: "robert@neo.com", created_at: "2014-03-27 08:56:05", updated_at: "2014-03-27 08:56:05">, #<Student id: 3, name: "Phil", grade: 3, email_address: "phil@school.com", created_at: "2014-03-27 08:56:21", updated_at: "2014-03-27 08:56:21">]
现在我需要得到一年级学生的电子邮件地址。
我怎样才能得到它?我解决了它,
可使用以下功能完成:
mail_addresses = Student.where(grade: 1).pluck(:email_address)
mail_addresses.each do|a|
puts a
end
输出:
bob@school.com
robert@neo.com
=> ["bob@school.com", "robert@neo.com"]
瞧 我解决了它,
可使用以下功能完成:
mail_addresses = Student.where(grade: 1).pluck(:email_address)
mail_addresses.each do|a|
puts a
end
输出:
bob@school.com
robert@neo.com
=> ["bob@school.com", "robert@neo.com"]
瞧 我想这会对你有帮助 有很多方法可以编写查询来获取一年级学生的电子邮件地址
Student.where(:grade => 1).map(&:email)
或
或
或
您也可以使用select
Student.where("grade = ?", 1).select("email").map(&:email)
始终将rails查询与where一起使用,而不是使用find。带有“where”的rails查询工作得很快,而不是查找。我认为它会帮助您 有很多方法可以编写查询来获取一年级学生的电子邮件地址
Student.where(:grade => 1).map(&:email)
或
或
或
您也可以使用select
Student.where("grade = ?", 1).select("email").map(&:email)
始终将rails查询与where一起使用,而不是使用find。带有“where”的rails查询正在快速运行,而不是查找