从关联的第三个表获取信息

时间:2016-09-21 14:17:55

标签: ruby-on-rails

我有一个服务模型。每个服务都可以由多个用户提供,因此我有一个用户模型。

我有一个连接表:带ServiceUser模型的services_users

p.s:这个表有user_id,service_id和blah_id列

现在,我想编写:service.users并从用户表中获取给定服务的所有用户。

我如何在模型中写这个? service.users给我一个来自services_users的查询,这是连接表,但我想要来自users表的结果。

2 个答案:

答案 0 :(得分:0)

您可以定义has_and_belongs_to_many关联以方便。

<强> service.rb

  has_and_belongs_to_many :users

<强> user.rb

  has_and_belongs_to_many :services

现在你可以简单地说:

your_service.users

答案 1 :(得分:0)

您不需要ServiceUser型号。在模型和连接表上,您需要UserService模型与has_and_belongs_to_many关联。然后,您可以users访问service.usersHABTM association