em = $em; } /** * Gebe alle {@see Category}-Objekte, nach id aufsteigend sortiert, zurück. * * @return Category[] */ function getCategories(): array { $criteria = $this->em->createNqlCriteria( 'SELECT c FROM Category c ORDER BY c.id DESC'); return $criteria->toQuery()->fetchArray(); } /** * Gebe die {@see Category} mit der enstprechenden ID zurück. * * @param int $id * @return Category|null */ function getCategoryById(int $id): ?Category { return $this->em->find(Category::getClass(),$id); } /** * Gebe alle {@see Category} zurück, welche dem übergebenen Kategorienamen entsprechen. * * @param string $categoryName * @return array */ function getCategoryByCategoryName(string $categoryName): array { $criteria = $this->em->createSimpleCriteria(Category::getClass(), ['category_name' => $categoryName]); return $criteria->toQuery()->fetchArray(); } /** * Speichere die {@see Category} in der Datenbank. * * @param Category $category * @return void */ function saveCategory(Category $category): void { $this->em->persist($category); } /** * Lösche die {@see Category} aus der Datenbank. * * @param Category $category * @return void */ function removeCategory(Category $category): void { $this->em->remove($category); } }