method
build_arel
v4.0.2 -
Show latest stable
- Class:
ActiveRecord::QueryMethods
build_arel()public
Like #arel, but ignores the default scope of the model.
# File activerecord/lib/active_record/relation/query_methods.rb, line 801
def build_arel
arel = Arel::SelectManager.new(table.engine, table)
build_joins(arel, joins_values.flatten) unless joins_values.empty?
collapse_wheres(arel, (where_values - ['']).uniq)
arel.having(*having_values.uniq.reject{|h| h.blank?}) unless having_values.empty?
arel.take(connection.sanitize_limit(limit_value)) if limit_value
arel.skip(offset_value.to_i) if offset_value
arel.group(*group_values.uniq.reject{|g| g.blank?}) unless group_values.empty?
build_order(arel)
build_select(arel, select_values.uniq)
arel.distinct(distinct_value)
arel.from(build_from) if from_value
arel.lock(lock_value) if lock_value
arel
end Related methods
- Instance methods
- arel
- bind
- bind!
- build_arel
- create_with
- create_with!
- create_with_value
- distinct
- distinct!
- eager_load
- eager_load!
- extending
- extending!
- from
- from!
- group
- group!
- having
- having!
- includes
- includes!
- joins
- joins!
- limit
- limit!
- lock
- lock!
- none
- none!
- offset
- offset!
- order
- order!
- preload
- preload!
- readonly
- readonly!
- references
- references!
- reorder
- reorder!
- reverse_order
- reverse_order!
- select
- select!
- uniq
- uniq!
- unscope
- unscope!
- where
- where!
- Private methods
-
array_of_strings? -
build_from -
build_joins -
build_order -
build_select -
build_where -
check_if_method_has_arguments! -
collapse_wheres -
custom_join_ast -
reverse_sql_order -
symbol_unscoping -
validate_order_args -
where_unscoping