繁体   English   中英

Rails活动记录关联查询

[英]Rails Active Record Association Query

我有以下模型,看起来像:

user.rb

has_many: groups

group.rb

has_many: channels

我想要一个查询,该查询返回所有属于用户的所有组的所有通道的“名称”字段的列表。

我下面的内容不起作用,任何指导表示赞赏。

Group.all.where("user_id = ?", 1).joins(:channels)

假设:

  1. 频道belongs_to
  2. 您有一个@user

我相信您应该能够做到:

Channel.where(group: @user.groups).pluck(:name)

哪个应该返回属于所有属于@user所有Group的所有Channelname属性的array (我认为这是list意思)。

对于您的情况(在您对原始帖子的评论中指出,该帖子实际上应该是编辑内容),您应该执行以下操作:

<% @user_groups.each do |group| %>
  <tr>
    <td>
      <%= group.name %>
    </td>
    <td>
      <%= group.channels.pluck(:name) %>
    </td>
  </tr>
<% end %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM