Ruby on Rails:根据 has_many 关系查找值
Ruby on Rails: Find values based on has_many relations
我有 2 个模型:国家(table 个国家)和专业(table 个专业)。
nations 包含世界上所有国家,majors 包含所有教育分支,如计算机科学、机械工程等。
两个模型都有 id 和 name 字段,并包含以下关系。
国模(Nation.rb)
has_many:专业
主要型号(Major.rb)
has_many:民族
我想运行这样的查询:查找nation_id = x(其中x是国家/地区的ID)的所有专业。
如何在 rails 中执行此操作?
我觉得应该存在一个 table 包含这样的映射:
id major_id nation_id
1 1 1
2 1 2
3 2 1
.
.
.
每个专业都映射到它所属的国家,反之亦然。
我是 rails 的新手,不知道该怎么做。
您关于为两者之间的映射创建第三个 table 的做法是正确的。你有两个选择。你可以创建第三个 table 以防你想要其中的字段而不是 major_id 和 nation_id.
如果没有,您应该创建连接 table。请随意尝试,如果还有其他问题,请告诉我。This 文章以非常简单的方式对其进行了解释。
我有 2 个模型:国家(table 个国家)和专业(table 个专业)。 nations 包含世界上所有国家,majors 包含所有教育分支,如计算机科学、机械工程等。 两个模型都有 id 和 name 字段,并包含以下关系。
国模(Nation.rb) has_many:专业
主要型号(Major.rb) has_many:民族
我想运行这样的查询:查找nation_id = x(其中x是国家/地区的ID)的所有专业。
如何在 rails 中执行此操作?
我觉得应该存在一个 table 包含这样的映射:
id major_id nation_id
1 1 1
2 1 2
3 2 1
.
.
.
每个专业都映射到它所属的国家,反之亦然。 我是 rails 的新手,不知道该怎么做。
您关于为两者之间的映射创建第三个 table 的做法是正确的。你有两个选择。你可以创建第三个 table 以防你想要其中的字段而不是 major_id 和 nation_id.
如果没有,您应该创建连接 table。请随意尝试,如果还有其他问题,请告诉我。This 文章以非常简单的方式对其进行了解释。