/** * Object constructor. * * @param HasManyAssociation Typ asociace mozne jsou [ TODO ] * @param \dbrecord\Entity Vlastnik, ke ktere kolekce patri. */ public function __construct(HasManyAssociation $association, DbRecord $owner) { $this->association = $association; $this->belongsToRecord = $owner; $class = $association->getReferenceClass(); parent::__construct($class); }
static function has_many($class_name, $plural_name, $options = array()) { HasManyAssociation::initialize_association_options($class_name, $plural_name, $options); self::add_association($class_name, $plural_name, 'has_many', $options); }
protected function saveHasManyAssociatedObject(HasManyAssociation $association, Entity $record, $value, $construction = array()) { if (is_array($value)) { $class = $association->getReferenceClass(); $objects = array(); foreach ($value as $v) { $objects[] = new $class($v, NULL, $construction); } // ocekavame ze se jedna o vice objektu a budeme vytvaret AssociatedCollection $aclass = $association->getAssociatedCollectionClass(); $aobject = new $aclass($this, $record); $aobject->import($objects); // memory leaks - nekde tady je $class = $objects = $value = $v = $construction = NULL; return $aobject; } else { return $value; } }