method

construct_sql

rails latest stable - Class: ActiveRecord::Associations::HasManyAssociation

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v3.0.9) is shown here.

construct_sql()
protected

No documentation available.

# File activerecord/lib/active_record/associations/has_many_association.rb, line 90
        def construct_sql
          case
            when @reflection.options[:finder_sql]
              @finder_sql = interpolate_and_sanitize_sql(@reflection.options[:finder_sql])

            when @reflection.options[:as]
              @finder_sql =
                "#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_id = #{owner_quoted_id} AND " +
                "#{@reflection.quoted_table_name}.#{@reflection.options[:as]}_type = #{@owner.class.quote_value(@owner.class.base_class.name.to_s)}"
              @finder_sql << " AND (#{conditions})" if conditions

            else
              @finder_sql = "#{@reflection.quoted_table_name}.#{@reflection.primary_key_name} = #{owner_quoted_id}"
              @finder_sql << " AND (#{conditions})" if conditions
          end

          construct_counter_sql
        end