在ruby的连接表上获取结果

问题描述 投票:1回答:1

我是红宝石的新手。我想从联接表中获取结果,但是我得到表本身的结果

Table A
id | user_id | cat_id
1      1        2
2      2        3
3      1        1
4      1        3
5      3        4
Table cat
id | name
1      ai 
2      bi 
3      ci 
4      di
5      ei

我想显示与表A上特定user_id关联的所有猫]

A.where(user_id:1).joins(:cat)

] >>

但是我得到的结果是

[{
   id: 1,
   user_id: 1,
   cat_id: 2
},{
   id: 3,
   user_id: 1,
   cat_id: 1
},{
   id: 4,
   user_id: 1,
   cat_id: 3
}]

预期结果:基于具有user_id 1的表A的产品数组

[{
   id: 2,
   name: bi
},{
   id: 1,
   name: ai
},{
   id: 3,
   name: ci
}]

我是红宝石的新手。我想从联接表中获取结果,但是我得到表本身的结果。 user_id | cat_id 1 1 2 2 2 3 3 1 1 4 1 ...

如果需要cat,则必须从此处开始:

Cat.joins(:<plural_version_of_table_a>).where(<plural_version_of_table_a>: { user_id: 1 })
ruby-on-rails activerecord rails-activerecord active-record-query
1个回答
0
投票

如果需要cat,则必须从此处开始:

© www.soinside.com 2019 - 2024. All rights reserved.