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])

Но как я могу подключить это так, чтобы готовая загрузка была сделана?

Ответы на вопрос(1)

Ваш ответ на вопрос