'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轉換爲活動記錄聲明與多級轉換SQL連接到Rails的ActiveRecord表達
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。
我已經通過使用Machine
模型
has_one :mcln
和 belongs_to :machine
實現它Mcln
而且我不知道如果多數民衆贊成正確實施。
你有機器和mcln之間有什麼關聯? –
好吧,我不知道究竟要調用它,但我認爲它是一對多,一臺機器可以有一個mcln,也有很多機器可以有相同的mcln,我已經通過在machine model和belongs_to上使用has_one:mcln來實現它:我不知道這是否正確實施 – pahnin