Class | Sequel::Model::Associations::OneToManyAssociationReflection
In: | lib/sequel/model/associations.rb
Parent: | AssociationReflection

### Methods

associated_object_keys can_have_associated_objects? default_key predicate_key primary_key qualified_key qualified_primary_key reciprocal_array? remove_before_destroy? remove_should_check_existing? set_reciprocal_to_self?

### Public Instance methods

associated_object_keys()

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

[Source]

         # File lib/sequel/model/associations.rb, line 377
    377:         def associated_object_keys
    378:           self[:keys]
    379:         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.

[Source]

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

default_key()

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

[Source]

         # File lib/sequel/model/associations.rb, line 389
    389:         def default_key
    390:
    391:           "#{underscore(demodulize(self[:model].name))}_id"
    392:         end

predicate_key()

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

[Source]

         # File lib/sequel/model/associations.rb, line 394
    394:         def predicate_key
    395:           cached_fetch(:predicate_key){qualify_assoc(self[:key])}
    396:         end

primary_key()

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

[Source]

         # File lib/sequel/model/associations.rb, line 400
    400:         def primary_key
    401:          self[:primary_key]
    402:         end

qualified_key()

Alias for predicate_key

qualified_primary_key()

primary_key qualified by the current table

[Source]

         # File lib/sequel/model/associations.rb, line 405
    405:         def qualified_primary_key
    406:           cached_fetch(:qualified_primary_key){qualify_cur(primary_key)}
    407:         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.

[Source]

         # File lib/sequel/model/associations.rb, line 411
    411:         def reciprocal_array?
    412:           false
    413:         end

remove_before_destroy?()

Destroying one_to_many associated objects automatically deletes the foreign key.

[Source]

         # File lib/sequel/model/associations.rb, line 416
    416:         def remove_before_destroy?
    417:           false
    418:         end

remove_should_check_existing?()

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

[Source]

         # File lib/sequel/model/associations.rb, line 421
    421:         def remove_should_check_existing?
    422:           true
    423:         end

set_reciprocal_to_self?()

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

[Source]

         # File lib/sequel/model/associations.rb, line 426
    426:         def set_reciprocal_to_self?
    427:           true
    428:         end

[Validate]