我正在使用ROR3为公司开发员工档案管理系统 我是ROR的新手。刚刚开始一个月前。因此在开发应用程序时遇到一些麻烦。
这些是一些表格
id
service_number
first_name
last_name
id
service-number
rank
date_of_rank
id
service_number
unit
date_from
date_to
实际上,服务号码是员工的唯一ID号。所以我想使用服务号
加入表格这是我用来生成一些信息的原始sql。但是我不能在ROR中做到这一点
SELECT promotions.service_number, profiles.first_name, promotions.rank,
promotions.date_of_rank
FROM profiles, promotions
WHERE promotions.service_number = profiles.service_number
AND promotions.id = (SELECT max(id) FROM promotions WHERE service_number = 3975)
在个人资料索引页面中,我想显示个人资料详情以及当前职位和员工单位
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
如果您想使用JOINS而不是Associations,那么您会看到这个:
Profiles.joins("JOIN promotions ON promotions.service_number = profiles.service_number")
然后展开它以模拟您的查询:
@promotions_id = Promotions.select("max(id)").where(:service_number => 3975)
Profiles.select("promotions.service_number, profiles.first_name, promotions.rank, promotions.date_of_rank").joins("JOIN promotions ON promotions.service_number = profiles.service_number").where("promotions.id = ?", @promotions_id)