class Sequel::Model::Associations::OneToManyAssociationReflection

  1. lib/sequel/model/associations.rb
Parent: Associations

Public Instance Aliases

qualified_key -> eager_loading_predicate_key

Public Instance methods

associated_object_keys ()

The keys in the associated model's table related to this association

[show source]
# File lib/sequel/model/associations.rb, line 354
def associated_object_keys
  self[:keys]
end
can_have_associated_objects? (obj)

one_to_many associations can only have associated objects if none of the :keys options have a nil value.

[show source]
# File lib/sequel/model/associations.rb, line 360
def can_have_associated_objects?(obj)
  !self[:primary_keys].any?{|k| obj.send(k).nil?}
end
default_key ()

Default foreign key name symbol for key in associated table that points to current table's primary key.

[show source]
# File lib/sequel/model/associations.rb, line 366
def default_key
  :"#{underscore(demodulize(self[:model].name))}_id"
end
eager_loader_key ()

The key to use for the key hash when eager loading

[show source]
# File lib/sequel/model/associations.rb, line 371
def eager_loader_key
  cached_fetch(:eager_loader_key){primary_key}
end
eager_loading_predicate_key ()

The hash key to use for the eager loading predicate (left side of IN (1, 2, 3))

[show source]
# File lib/sequel/model/associations.rb, line 376
def eager_loading_predicate_key
  cached_fetch(:eager_loading_predicate_key){qualify_assoc(self[:key])}
end
primary_key ()

The column in the current table that the key in the associated table references.

[show source]
# File lib/sequel/model/associations.rb, line 382
def primary_key
 self[:primary_key]
end
qualified_primary_key ()

primary_key qualified by the current table

[show source]
# File lib/sequel/model/associations.rb, line 387
def qualified_primary_key
  cached_fetch(:qualified_primary_key){qualify_cur(primary_key)}
end
reciprocal_array? ()

Whether the reciprocal of this association returns an array of objects instead of a single object, false for a one_to_many association.

[show source]
# File lib/sequel/model/associations.rb, line 393
def reciprocal_array?
  false
end
remove_before_destroy? ()

Destroying one_to_many associated objects automatically deletes the foreign key.

[show source]
# File lib/sequel/model/associations.rb, line 398
def remove_before_destroy?
  false
end
remove_should_check_existing? ()

The one_to_many association needs to check that an object to be removed already is associated.

[show source]
# File lib/sequel/model/associations.rb, line 403
def remove_should_check_existing?
  true
end
set_reciprocal_to_self? ()

One to many associations set the reciprocal to self when loading associated records.

[show source]
# File lib/sequel/model/associations.rb, line 408
def set_reciprocal_to_self?
  true
end