查询 rails 的正确方法有很多通过返回嵌套对象
Correct way to query rails has many through returning a nested object
我正在尝试找出访问对象集合 (Rails 4) 的“rails”方法。
我有一个团队模型、一个成员模型和一个 team_member 模型。一个团队可以有多个成员,一个成员可以在多个团队中。成员在每个团队中可以有不同的状态。
我设置了一个 has many through for teams and members (a team has many members through team_members)
我的问题是查询团队中所有活动团队成员的正确方法是什么,return成员的活动记录关系
现在我正在通过 team_id 和状态 ID(包括成员)查询 team_member 模型。这个 return 是一个 team_member 关系,我通过 team_member.member.first_name
访问成员
由于此查询运行后我不需要 team_member 上的任何其他信息,我想直接获取成员的结果并将其作为 member.first_name 处理。
提前致谢。
我会在两行之间尝试一些东西(未测试):
class Team
has_many :team_members
has_many :members, through: :team_members do
def active
where(team_members: { status: :active})
end
end
end
Team.last.members.active
我最终使用了类似这样的东西
Team.find(2).members.where(:team_members => {:status_id => 1})
谢谢
我正在尝试找出访问对象集合 (Rails 4) 的“rails”方法。
我有一个团队模型、一个成员模型和一个 team_member 模型。一个团队可以有多个成员,一个成员可以在多个团队中。成员在每个团队中可以有不同的状态。
我设置了一个 has many through for teams and members (a team has many members through team_members)
我的问题是查询团队中所有活动团队成员的正确方法是什么,return成员的活动记录关系
现在我正在通过 team_id 和状态 ID(包括成员)查询 team_member 模型。这个 return 是一个 team_member 关系,我通过 team_member.member.first_name
访问成员由于此查询运行后我不需要 team_member 上的任何其他信息,我想直接获取成员的结果并将其作为 member.first_name 处理。
提前致谢。
我会在两行之间尝试一些东西(未测试):
class Team
has_many :team_members
has_many :members, through: :team_members do
def active
where(team_members: { status: :active})
end
end
end
Team.last.members.active
我最终使用了类似这样的东西
Team.find(2).members.where(:team_members => {:status_id => 1})
谢谢