protected function setCollection(Category $category) { if ($category->getCollection() instanceof CollectionInterface) { return; //do nothing if collection is already set } $collectionName = $this->container->getParameter('enhavo_category.default_collection'); $collection = $this->container->get('enhavo_category.repository.collection')->findOneBy(['name' => $collectionName]); if ($collection === null) { $collection = new Collection(); $collection->setName($collectionName); $this->container->get('doctrine.orm.entity_manager')->persist($collection); } $category->setCollection($collection); }
function getCollection($name) { $collection = $this->manager->getRepository('EnhavoCategoryBundle:Collection')->findOneBy(['name' => $name]); if (empty($collection)) { foreach ($this->collections as $collection) { if ($collection->getName() == $name) { return $collection; } } $collection = new Collection(); $collection->setName($name); $this->manager->persist($collection); $this->collections[] = $collection; } return $collection; }