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

### Methods

associated_object_keys can_have_associated_objects? default_key eager_loader_key primary_key reciprocal_array? 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 236
    236:         def associated_object_keys
    237:           self[:keys]
    238:         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 242
    242:         def can_have_associated_objects?(obj)
    243:           !self[:primary_keys].any?{|k| obj.send(k).nil?}
    244:         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 248
    248:         def default_key
    249:
    250:           "#{underscore(demodulize(self[:model].name))}_id"
    251:         end

eager_loader_key()

The key to use for the key hash when eager loading

[Source]

         # File lib/sequel/model/associations.rb, line 253
    253:         def eager_loader_key
    254:           self[:eager_loader_key] ||= primary_key
    255:         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 258
    258:         def primary_key
    259:          self[:primary_key] ||= self[:model].primary_key
    260:         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 269
    269:         def reciprocal_array?
    270:           false
    271:         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 274
    274:         def remove_should_check_existing?
    275:           true
    276:         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 263
    263:         def set_reciprocal_to_self?
    264:           true
    265:         end

[Validate]