我有2个班级:
class User < ApplicationRecord
has_one :address
end
class Address < ApplicationRecord
belongs_to :user
我需要编写代码,该代码将从数据库中打印属性值为100个用户的“邮政编码”。
关于这一点,我有一些代码,但是不确定这是否是解决问题的好方法:
@users = User.all
@users.limit(100).each do |user|
puts "#{user.postcode}"
end
谁有更好的主意?
答案 0 :(得分:3)
我会使用pluck
puts User.limit(100).pluck('postcode')
# or
puts User.joins(:address).limit(100).pluck('addresses.postcode')
答案 1 :(得分:0)
Pluck最适合您的情况。
User.where(condition).pluck(:postcode)
(#where条件是可选的)
事件,如果您想获取带有邮政编码的其他列,则只需将其包含在pluck中即可。例如
User.where(condition).pluck(:id,:postcode)
(#在pluck内使用多列仅适用于rails4及以上)