em = $em; $this->pdo = $em->getPdo(); } /** * Gebe alle {@see Article}-Objekte, nach id absteigend sortiert, zurück. * * @return Article[] */ function getArticles(): array { $criteria = $this->em->createSimpleCriteria(Article::getClass(), order: ['id' => 'DESC']); return $criteria->toQuery()->fetchArray(); } /** * Gebe alle {@see Article} zurück, welche dem übergebenen Kategorienamen entsprechen. * * @return array */ function getArticlesByCategoryName(string $categoryName): array { $criteria = $this->em->createSimpleCriteria(Article::getClass(), ['categoryName' => $categoryName ], order: ['id' => 'DESC']); return $criteria->toQuery()->fetchArray(); } /** * Gebe den {@see Article} mit der enstprechenden ID zurück. * * @param int $id * @return Article|null */ function getArticleById(mixed $id): ?Article { return $this->em->find(Article::getClass(), $id); // $criteria = $this->em->createSimpleCriteria(Article::getClass(),['id'=> $id]); // return $criteria->toQuery()->fetchSingle(); } function saveArticle(Article $article) { $this->em->persist($article); } function removeArticle(int $id ) { $article = $this->em->find(Article::getClass(), $id); $this->em->remove($article); } //function getArticleRowById(int $id): array { // $this->pdo->prepare('SELECT...'), //} }