This is sparse. I will write more later once I know it works properly.
> source = ReferrableJoin.new(:languages, :source_language) > target = ReferrableJoin.new(:languages, :target_language) > Translation.joins(source, target).where(source.relation[:id].lt(2)).size => 3 > Translation.joins(source, target).where(target.relation[:id].lt(2)).size => 0