
Untitled
By: a guest on
May 3rd, 2012 | syntax:
None | size: 0.63 KB | hits: 19 | expires: Never
Active Record: Use hash conditions in on clause
... left join works on clients.id = works.client_id and works.performed_on >= '2012-01-21' and works.performed_on <= '2012-01-28'...
where(:performed_on => (date1..date2))
Client.joins('left join works').on('clients.id' => 'works.client_id', 'works.performed_on' => (date1..date2))
Client.joins(:works).where(:works => {:performed_on => (date1..date2)})
join_sql = Client.send(:sanitize_sql_for_conditions, [
"LEFT JOIN works ON clients.id = works.client_id AND (
works.performed_on >= ? AND works.performed_on <= ? )",
date1, date2])
Client.joins(join_sql)