如何获取对象数组的唯一属性值?
How do I get unique attribute values of an array of objects?
我正在使用 RoR 5。如何 select 对象数组中的唯一属性值?我试过了
attr_values = my_objects.uniq{|r| r.attr_name}
但是 "attr_values" 是与 "my_objects" 相同类型的对象数组。我希望数组是 "r.attr_name."
类型的对象
你的 post 不清楚,但如果 "array" 是 ActiveRecord::Relation
,你可以 .distinct.pluck(:attr_name)
,例如:User.distinct.pluck(:role)
=> SELECT DISTINCT "users"."role" FROM "users"
如果实际上是一个数组(my_objects.is_a? Array
),解法是my_objects.map(&:attr_name).uniq
.
我正在使用 RoR 5。如何 select 对象数组中的唯一属性值?我试过了
attr_values = my_objects.uniq{|r| r.attr_name}
但是 "attr_values" 是与 "my_objects" 相同类型的对象数组。我希望数组是 "r.attr_name."
类型的对象你的 post 不清楚,但如果 "array" 是 ActiveRecord::Relation
,你可以 .distinct.pluck(:attr_name)
,例如:User.distinct.pluck(:role)
=> SELECT DISTINCT "users"."role" FROM "users"
如果实际上是一个数组(my_objects.is_a? Array
),解法是my_objects.map(&:attr_name).uniq
.