/** * Interal mechanism to remove Videos from Skill * * @param Skill $model * @param mixed $data */ protected function doRemoveVideos(Skill $model, $data) { $errors = []; foreach ($data as $entry) { if (!isset($entry['id'])) { $errors[] = 'Missing id for Video'; } else { $related = VideoQuery::create()->findOneById($entry['id']); $model->removeVideo($related); } } if (count($errors) > 0) { return new ErrorsException($errors); } }
/** * Clears the current object, sets all attributes to their default values and removes * outgoing references as well as back-references (from other objects to this one. Results probably in a database * change of those foreign objects when you call `save` there). */ public function clear() { if (null !== $this->aSkill) { $this->aSkill->removeVideo($this); } if (null !== $this->aReference) { $this->aReference->removeVideo($this); } $this->id = null; $this->title = null; $this->description = null; $this->url = null; $this->is_tutorial = null; $this->athlete = null; $this->athlete_id = null; $this->uploader_id = null; $this->skill_id = null; $this->reference_id = null; $this->poster_url = null; $this->provider = null; $this->provider_id = null; $this->player_url = null; $this->width = null; $this->height = null; $this->alreadyInSave = false; $this->clearAllReferences(); $this->resetModified(); $this->setNew(true); $this->setDeleted(false); }