protected function updateExtensions(Package &$model, KeekoPackageSchema $pkg) { // remove all existing extensions from this package first ExtensionQuery::create()->filterByPackage($model)->delete(); // add them one by one foreach ($pkg->getAllExtensions() as $key => $exts) { foreach ($exts as $data) { $ext = new Extension(); $ext->setKey($key); $ext->setData(Json::encode($data, Json::UNESCAPED_SLASHES)); $ext->setPackage($model); $ext->save(); } } }
/** * @param ChildExtension $extension The ChildExtension object to add. */ protected function doAddExtension(ChildExtension $extension) { $this->collExtensions[] = $extension; $extension->setPackage($this); }