Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何从Rails中的多对多关系中筛选字段?_Ruby On Rails_Ruby_Rails Activerecord - Fatal编程技术网

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