我想加載一個模型,我試圖加載一個單一的記錄。Rails的急切加載其中字段匹配父項字段?
比方說:
Customer.includes(:sales).where('sales.created_at' => 'customer.last_sale_at')
但不是工作SQL WHERE:
... WHERE "sales"."created_at" = "customer"."last_sale_at"
count
-------
1990
(1 row)
軌產生無效:
... WHERE "sales"."created_at" = 'customer.last_sale_at'
ERROR: invalid input syntax for type timestamp: "last_sale_at"
LINE 1: ...d" = "customers"."id" WHERE "sales"."created_at" = 'last_sale...
我也試過:
Customer.includes(:sales).where('sales.created_at' => '"customer"."last_sale_at"')
Customer.includes(:sales).where('sales.created_at' => :last_sale_at)
Customer.includes(:sales).where('"sales"."created_at" = "customer"."last_sale_at"')
其中產生了各種錯誤。
怎麼了?
編輯:我更新了這個問題,以便更加明瞭。
last_sale_at是您在condiion中傳遞的日期對象嗎? –
它是我渴望從中加載的模型中的字段。 – lmojzis
在'WHERE'子句中,我自指'customer'模型的'last_sale_at'字段。 – lmojzis