首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询三个表--在rails 5中只有一个表没有关联

查询三个表--在rails 5中只有一个表没有关联
EN

Stack Overflow用户
提问于 2018-08-25 15:43:27
回答 2查看 187关注 0票数 0

我有三张桌子在栏杆里

这是桌子

Employee =(根本没有关联)

用户=有许多出席者

考勤=属于用户

那么,我的问题是如何用这个查询这三个表。

User表加入考勤,然后也加入Employee其中employee.code = users.Empkey

如何将其转换为在一个查询中与rails 5连接三个表?

EN

回答 2

Stack Overflow用户

发布于 2018-08-26 01:10:09

您应该在员工和用户之间创建ActiveRecord关联。

代码语言:javascript
复制
class Employee < ApplicationRecord
  belongs_to :user, foreign_key: "code", class_name: "User"
end

class User < ApplicationRecord
  has_many :attendances
  has_one :employee, foreign_key: "Empkey", class_name: "Employee"
end

class Attendance < ApplicationRecord
  belongs_to :user
end

现在你可以随便玩了。

代码语言:javascript
复制
employee = Employee.first
@employee_attendances = employee.user.attendances
票数 0
EN

Stack Overflow用户

发布于 2018-08-26 07:44:41

可以在联接表中使用原始sql连接3个表,如

代码语言:javascript
复制
User.joins(:attendances).joins("Inner joins employees on employees.code = users.Empkey")

希望这能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52018828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档