/** * Remove localization of this object * through the kk_localization_variant cross reference table. * * @param ChildLocalization $localization * @return ChildLanguageVariant The current object (for fluent API support) */ public function removeLocalization(ChildLocalization $localization) { if ($this->getLocalizations()->contains($localization)) { $localizationVariant = new ChildLocalizationVariant(); $localizationVariant->setLocalization($localization); if ($localization->isLanguageVariantsLoaded()) { //remove the back reference if available $localization->getLanguageVariants()->removeObject($this); } $localizationVariant->setLanguageVariant($this); $this->removeLocalizationVariant(clone $localizationVariant); $localizationVariant->clear(); $this->collLocalizations->remove($this->collLocalizations->search($localization)); if (null === $this->localizationsScheduledForDeletion) { $this->localizationsScheduledForDeletion = clone $this->collLocalizations; $this->localizationsScheduledForDeletion->clear(); } $this->localizationsScheduledForDeletion->push($localization); } return $this; }