protected function processCatalogues($catalogues, Package $package) { /** @var EntityManager $em */ $em = $this->getDoctrine()->getManager(); $delete = function ($catalogue) use($package, $em) { $package->removeCatalogue($catalogue); $em->remove($catalogue); return true; }; $update = function ($catalogue, $entry) { return $this->updateCatalogue($catalogue, $entry); }; $add = function ($catalogue) use($package) { return $this->addCatalogue($package, $catalogue); }; $get = function ($catalogue) { return $catalogue->getId(); }; /** @var RestHelperInterface $restHelper */ $restHelper = $this->get('sulu_core.doctrine_rest_helper'); return $restHelper->processSubEntities($package->getCatalogues(), $catalogues, $get, $add, $update, $delete); }