加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在rails中进行连接查询?

发布时间:2020-12-17 04:02:58 所属栏目:百科 来源:网络整理
导读:假设我有两个表,一个包含个人信息的学生主列表,以及一个班级中的学生注册列表.这两个表共享一个公共列,这是一个唯一标识学生的字符串,但它不是主键. 假设我想显示页面上的所有注册,以及来自学生的一些个人数据(比如说可能是家乡). 我明白这将是一个非常多的
假设我有两个表,一个包含个人信息的学生主列表,以及一个班级中的学生注册列表.这两个表共享一个公共列,这是一个唯一标识学生的字符串,但它不是主键.

假设我想显示页面上的所有注册,以及来自学生的一些个人数据(比如说可能是家乡).

我明白这将是一个非常多的关系.主列表记录有许多注册.注册属于学生.

class Student < ActiveRecord::Base
    has_many :enrollments
end

class Enrollment < ActiveRecord::Base
   belongs_to :student
end

这是两者之间的正确关系,如果是这样,我如何对共享列进行连接查询?

解决方法

是ActiveRecord将为您管理关系,但您也可以在关系中搜索条件时指定联接.例如:

User.find(:all,:joins => :phone_numbers,:conditions => { :phone_numbers => {:name => 'business'} })

请注意,虽然条件声明使用哈希仅在Rails 2.2中

但是大部分时间只使用与has_many的ActiveRecord关系应该没问题,正如上面的答案所提到的那样,你可以使用就像直接在模型上调用对象一样… @ student.enrollments

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读