| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace internship\model;
- use internship\bo\Category;
- use n2n\persistence\orm\EntityManager;
- use internship\bo\Article;
- use n2n\context\attribute\RequestScoped;
- #[RequestScoped]
- class CategoryDao {
- private EntityManager $em;
- private function _init(EntityManager $em): void {
- $this->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);
- }
- }
|