我在滑轨上有三个桌子
这是表格
员工 =(完全没有关联)
用户 =出席人数很多
出勤 =属于用户
然后我的问题是如何用这个查询三个表。
User表加入Attendance,然后还加入Employee,其中employee.code = users.Empkey
我如何将其转换为使用Rails 5在一个查询中联接三个表
答案 0 :(得分:0)
您应该在员工和用户之间创建ActiveRecord关联。
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
现在您可以随心所欲地玩耍了。
employee = Employee.first
@employee_attendances = employee.user.attendances
答案 1 :(得分:0)
您可以在连接表中使用原始sql来连接3个表,如示例中所示
User.joins(:attendances).joins("Inner joins employees on employees.code = users.Empkey")
希望这会有所帮助