*/ final class FoodOrderRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, FoodOrder::class); } public function save(FoodOrder $order): void { $this->getEntityManager() ->persist($order); $this->getEntityManager() ->flush(); } /** * @return FoodOrder[] */ public function findLatestEntries(int $page = 1, int $pagesize = 10, int $days = 4): array { $result = $this->createQueryBuilder('alias') ->orderBy('alias.id', 'DESC') ->setFirstResult(($page - 1) * $pagesize) ->setMaxResults($pagesize) ->getQuery() ->getResult(); if ($days < 1) { return $result; } $date = (new DateTimeImmutable)->sub(new DateInterval('P' . $days . 'D')); return (new ArrayCollection($result)) ->filter(static fn(FoodOrder $order): bool => $order->getCreatedAt() >= $date) ->getValues(); } }