Ticket #11490: habtm_eager_loading_other_side_of_association.diff
| File habtm_eager_loading_other_side_of_association.diff, 2.2 kB (added by cavalle, 5 months ago) |
|---|
-
activerecord/test/cases/associations_test.rb
old new 1959 1959 assert_equal 1, david.projects(true).size 1960 1960 assert_equal 2, active_record.developers(true).size 1961 1961 end 1962 1963 def test_eager_loading_the_other_side_of_the_association 1964 assert_equal 2, developers(:david).projects.find(:all, :include => :developers).size 1965 end 1962 1966 1963 1967 def test_deleting_array 1964 1968 david = Developer.find(1) -
activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
old new 122 122 def construct_sql 123 123 interpolate_sql_options!(@reflection.options, :finder_sql) 124 124 125 @join_table_alias = @owner.connection.quote_table_name("joined_#{@reflection.options[:join_table]}") 126 125 127 if @reflection.options[:finder_sql] 126 128 @finder_sql = @reflection.options[:finder_sql] 127 129 else 128 @finder_sql = "#{@ owner.connection.quote_table_name @reflection.options[:join_table]}.#{@reflection.primary_key_name} = #{@owner.quoted_id} "130 @finder_sql = "#{@join_table_alias}.#{@reflection.primary_key_name} = #{@owner.quoted_id} " 129 131 @finder_sql << " AND (#{conditions})" if conditions 130 132 end 131 132 @join_sql = "INNER JOIN #{@owner.connection.quote_table_name @reflection.options[:join_table]} ON #{@reflection.quoted_table_name}.#{@reflection.klass.primary_key} = #{@owner.connection.quote_table_name @reflection.options[:join_table]}.#{@reflection.association_foreign_key}"133 134 @join_sql = "INNER JOIN #{@owner.connection.quote_table_name @reflection.options[:join_table]} #{@join_table_alias} ON #{@reflection.quoted_table_name}.#{@reflection.klass.primary_key} = #{@join_table_alias}.#{@reflection.association_foreign_key}" 133 135 end 134 136 135 137 def construct_scope