NewsDao.php 767 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace internship\model;
  3. use n2n\persistence\orm\EntityManager;
  4. use n2n\context\attribute\RequestScoped;
  5. use internship\bo\Comment;
  6. use n2n\context\attribute\Inject;
  7. use internship\bo\News;
  8. use internship\bo\Article;
  9. #[RequestScoped]
  10. class NewsDao {
  11. #[Inject]
  12. private EntityManager $em;
  13. /**
  14. * Gebe alle {@see Comment}-Objekte, nach id absteigend sortiert, zurück.
  15. *
  16. * @return Comment[]
  17. */
  18. function getNews(): array {
  19. $criteria = $this->em->createSimpleCriteria(News::getClass(), array(), array('id' => 'DESC'));
  20. return $criteria->toQuery()->fetchArray();
  21. }
  22. function getNewsById(int $id): ?News {
  23. return $this->em->find(News::getClass(), $id);
  24. }
  25. function saveNews(News $newArticle): void {
  26. $this->em->persist($newArticle);
  27. }
  28. }