class Sequel::Model::Associations::OneToManyAssociationReflection

Constants

FINALIZE_SETTINGS

Public Instance Methods

apply_eager_graph_limit_strategy(strategy, ds) click to toggle source

Support a correlated subquery limit strategy when using eager_graph.

     # File lib/sequel/model/associations.rb
1005 def apply_eager_graph_limit_strategy(strategy, ds)
1006   case strategy
1007   when :correlated_subquery
1008     apply_correlated_subquery_limit_strategy(ds)
1009   else
1010     super
1011   end
1012 end
associated_object_keys() click to toggle source

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

     # File lib/sequel/model/associations.rb
1015 def associated_object_keys
1016   self[:keys]
1017 end
can_have_associated_objects?(obj) click to toggle source

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

     # File lib/sequel/model/associations.rb
1021 def can_have_associated_objects?(obj)
1022   !self[:primary_keys].any?{|k| obj.get_column_value(k).nil?}
1023 end
cloneable?(ref) click to toggle source

one_to_many and one_to_one associations can be clones

     # File lib/sequel/model/associations.rb
1026 def cloneable?(ref)
1027   ref[:type] == :one_to_many || ref[:type] == :one_to_one
1028 end
default_key() click to toggle source

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

     # File lib/sequel/model/associations.rb
1032 def default_key
1033   :"#{underscore(demodulize(self[:model].name))}_id"
1034 end
finalize_settings() click to toggle source
     # File lib/sequel/model/associations.rb
1039 def finalize_settings
1040   FINALIZE_SETTINGS
1041 end
handle_silent_modification_failure?() click to toggle source

Handle silent failure of add/remove methods if raise_on_save_failure is false.

     # File lib/sequel/model/associations.rb
1044 def handle_silent_modification_failure?
1045   self[:raise_on_save_failure] == false
1046 end
predicate_key() click to toggle source

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

     # File lib/sequel/model/associations.rb
1049 def predicate_key
1050   cached_fetch(:predicate_key){qualify_assoc(self[:key])}
1051 end
Also aliased as: qualified_key
primary_key() click to toggle source

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

     # File lib/sequel/model/associations.rb
1055 def primary_key
1056   self[:primary_key]
1057 end
qualified_key()
Alias for: predicate_key
qualified_primary_key() click to toggle source

primary_key qualified by the current table

     # File lib/sequel/model/associations.rb
1060 def qualified_primary_key
1061   cached_fetch(:qualified_primary_key){qualify_cur(primary_key)}
1062 end
reciprocal_array?() click to toggle source

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

     # File lib/sequel/model/associations.rb
1066 def reciprocal_array?
1067   false
1068 end
remove_before_destroy?() click to toggle source

Destroying one_to_many associated objects automatically deletes the foreign key.

     # File lib/sequel/model/associations.rb
1071 def remove_before_destroy?
1072   false
1073 end
remove_should_check_existing?() click to toggle source

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

     # File lib/sequel/model/associations.rb
1076 def remove_should_check_existing?
1077   true
1078 end
set_reciprocal_to_self?() click to toggle source

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

     # File lib/sequel/model/associations.rb
1081 def set_reciprocal_to_self?
1082   true
1083 end