'SELECT "complaints".* FROM "complaints" INNER JOIN "machines" ON "machines"."id" = "complaints"."machine_id" INNER JOIN "mclns" ON "machines"."mcln_id" = "mclns"."id" ORDER BY "mclns"."response_time" ASC'
我需要将上面的 sql 转换为 Active Record 语句
complaint
模型不知道mcln
它必须通过machine
Complaint.joins(:machine=>:mcln)
给
SELECT "complaints".* FROM "complaints" INNER JOIN "machines" ON "machines"."id" = "complaints"."machine_id" INNER JOIN "mclns" ON "mclns"."machine_id" = "machines"."id"
但是我需要
SELECT "complaints".* FROM "complaints" INNER JOIN "machines" ON "machines"."id" = "complaints"."machine_id" INNER JOIN "mclns" ON "machines"."mcln_id" = "mclns"."id"
更新:
一台机器可以有一个 mcln,许多机器也可以有相同的 mcln。
我已经通过使用实现了它
has_one :mcln
在Machine
模型
belongs_to :machine
和Mcln
而且我不确定这是否是正确的实施。