class Transport::Vehicle < ApplicationRecord
has_one :driver, class_name: "Admin", foreign_key: "driver_id".
結束。
Transport::Vehicle.joins(:driver)
產生以下SQL查詢
SELECT "transport_vehicles". * FROM "transport_vehicles" INNER JOIN "admins" ON "admins". "driver_id"/span> = "transport_vehicles"/span>. "id" and "admins"."delete_at" IS NULL LIMIT $1
但它應該是
SELECT "transport_vehicles"/span>. * FROM "transport_vehicles" INNER JOIN "admins" ON "admins". "id" = "transport_vehicles"."id" AND "admins"。 "delete_at" IS NULL LIMIT $1。
我怎樣才能得到admin.id而不是admins.driver_id呢?
uj5u.com熱心網友回復:
由于你的外鍵是在Transport::Vehicle類上,你應該使用belongs_to而不是has_one。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/313863.html
標籤:
