Ruby on rails 如何从Rails中的多对多关系中筛选字段?
我有以下表格:Ruby on rails 如何从Rails中的多对多关系中筛选字段?,ruby-on-rails,ruby,rails-activerecord,Ruby On Rails,Ruby,Rails Activerecord,我有以下表格: Table_1 Name Field_A Field_B User_Table Name Field_C Field_D Table_3 FK Table_1 FK User_Table Field_E 所有关系都正常运作。我需要这样做: Table1.where(table_3.FK_Table_1: @current_user) 基本上,我只想显示属于@current\u用户的项目。我正在使用我的
Table_1
Name
Field_A
Field_B
User_Table
Name
Field_C
Field_D
Table_3
FK Table_1
FK User_Table
Field_E
所有关系都正常运作。我需要这样做:
Table1.where(table_3.FK_Table_1: @current_user)
基本上,我只想显示属于@current\u用户的项目。我正在使用我的序列化程序获取属于表1
的所有字段,但是当我有两个相同的表1
的相同项时,它显然会覆盖字段的值。我希望它返回表1中的所有项目,这些项目也来自@current\u用户
我当前的用户工作正常,所以不用担心。我只需要在如何实现where
语句方面得到帮助
任何帮助都将不胜感激您的模型是如何设置的?根据您的描述,您需要指定您正在加入Table1
和Table3
,并按当前用户进行筛选。比如:
class-Foo
有很多酒吧吗
结束
分类栏
属于:富
属于:用户
结束
#连接和过滤
连接(:条)。其中(条:{user:@current_user})
您的模型是如何设置的?根据您的描述,您需要指定您正在加入Table1
和Table3
,并按当前用户进行筛选。比如:
class-Foo
有很多酒吧吗
结束
分类栏
属于:富
属于:用户
结束
#连接和过滤
连接(:条)。其中(条:{user:@current_user})
您可以通过以下网站了解有关的更多信息:
类表1
然后您可以调用@current\u user.table1s
,以获取表1中属于@current\u user
的所有记录
请注意,使用联接表(本例中为表3)意味着多对多关系(1个表1可以属于多个用户,1个用户可以有多个表1) 您可以通过以下网站了解有关的更多信息:
类表1
然后您可以调用@current\u user.table1s
,以获取表1中属于@current\u user
的所有记录
请注意,使用联接表(本例中为表3)意味着多对多关系(1个表1可以属于多个用户,1个用户可以有多个表1) 是的,这正是我正在做的,但是where
语句给了我一些问题。您能给我们提供更多细节吗?输出是什么?输出是PG::unfinedtable:ERROR:falta una entrada para la tabla
这是复数的问题,对不起。是的,这正是我正在做的,但是where
语句给了我一些问题。你能给我们更多细节吗?输出是什么?输出是PG::unfinedtable:ERROR:falta una entrada para la tabla
这是复数的问题,对不起。
class Table1 < ActiveRecord::Base
has_many :table3s
has_many :users, through: :table3s
end
class Table3 < ActiveRecord::Base
belongs_to :table1
belongs_to :user
end
class User < ActiveRecord::Base
has_many :table3s
has_many :table1s, through: :table3s
end