progressRepository = $progressRepository; $this->bookRepository = $bookRepository; } public function updateProgress(int $bookId, int $progressPages): Progress { /** @var Progress $progress */ $progress = $this->progressRepository->findOneBy(['book' => $bookId, 'date' => date_create()]); if (!$progress) { $progress = new Progress(); $progress->setBook($this->bookRepository->find($bookId)); $progress->setDate(date_create()); } $progress->setPages($progressPages); $this->progressRepository->add($progress, true); return $progress; } }