Multiple joins to the same table/association with different conditions

I'm looking for a nice(!) way to specify multiple joins to the same table where there are different conditions on each one.

I was hoping for something like this

  class Model < ActiveRecord::Base     has_many :things

    scope :some_things,       joins(:things).where('things.foo' => 'bar').       joins(:things => :others).where('others.foo' => 'baz')   end

Unfortunately, this is wishful thinking. As far as I can tell, I have to write the SQL for the second join explicitly like this

     joins('JOIN things AS others ON models.id = things.model_id')

Did I miss a better way?

Michael