【发布时间】:2017-11-09 21:01:21
【问题描述】:
Active Record 忍者,
我正在寻找一种简洁的 Rails 方法来从关联模型中获取属性。
class Team < ActiveRecord::Base
belongs_to :captain, class_name: User
获取与团队相关联的独特队长数组:
Team.all.map(&:captain_id).uniq
我想做的是获取唯一的船长名单,并抓住每个人的first_name 和last_name。
我想做
Team.all.map(&:captain_id).uniq.pluck(:first_name, :last_name)
但是pluck 不适用于数组。我可以分几步完成,但 Rails 的方式是什么?
【问题讨论】:
-
你在使用 PostgreSQL 吗?
-
User.where(id: Team.all.select(:captain_id)).pluck(:first_name, :last_name) -
@MrYoshiji just
Team.pluck(:captain_id)也可以 -
@MrYoshiji - 是的 PostgreSQL。
-
@MrYoshiji - 您的第一个回复效果很好。把它变成一个答案,我会接受它。
标签: ruby-on-rails ruby-on-rails-4 activerecord rails-activerecord belongs-to