mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Add Relation#table to get the relevant Arel::Table
This commit is contained in:
@@ -6,7 +6,7 @@ module ActiveRecord
|
||||
delegate :length, :collect, :map, :each, :all?, :to => :to_a
|
||||
|
||||
attr_reader :relation, :klass, :preload_associations, :eager_load_associations
|
||||
attr_writer :readonly, :preload_associations, :eager_load_associations
|
||||
attr_writer :readonly, :preload_associations, :eager_load_associations, :table
|
||||
|
||||
def initialize(klass, relation)
|
||||
@klass, @relation = klass, relation
|
||||
@@ -133,9 +133,18 @@ module ActiveRecord
|
||||
relation.readonly = @readonly
|
||||
relation.preload_associations = @preload_associations
|
||||
relation.eager_load_associations = @eager_load_associations
|
||||
relation.table = table
|
||||
relation
|
||||
end
|
||||
|
||||
def table
|
||||
@table ||= Arel::Table.new(@klass.table_name, Arel::Sql::Engine.new(@klass))
|
||||
end
|
||||
|
||||
def primary_key
|
||||
@primary_key ||= table[@klass.primary_key]
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def method_missing(method, *args, &block)
|
||||
|
||||
Reference in New Issue
Block a user