ActiveRecord: добавление условия в предложение ON для включений
У меня есть модель предложений и еще одно историческое предложение, одно предложение имеет много исторического предложения.
Теперь я хотел бы загрузить исторические предложения за один день для набора предложений, если он существует. Для этого, я думаю, мне нужно передать день предложению ON, а не предложению WHERE, чтобы я получал все предложения, в том числе и при отсутствии исторического предложения для данного дня.
С Offer.where (нескольким_комплексным_условиями) .includes (: исторические_фермы). Где (исторические_действия.день =?
я бы получил
SELECT * FROM offers
LEFT OUTER JOIN historical_offers
ON offers.id = historical_offers.offer_id
WHERE day = '2012-11-09' AND ...
Но я хочу включить условие в предложение ON, а не в предложение WHERE:
SELECT * FROM offers
LEFT OUTER JOIN historical_offers
ON offers.id = historical_offers.offer_id AND day = '2012-11-09'
WHERE ...
Думаю, я мог бы изменить определение has_many лямбда-условием для конкретной даты, но как мне тогда передать дату?
В качестве альтернативы я мог бы написать объединение mysqlf следующим образом:
Offer.where(several_complex_conditions)
.joins(["historical_offers ON offers.id = historical_offers.offer_id AND day = ?", Date.today])
Но как я могу подключить это так, чтобы готовая загрузка была сделана?