diff --git a/Classes/Domain/Repository/JobRepository.php b/Classes/Domain/Repository/JobRepository.php index 67c863a8613d2f949ba65b50348dbf0be182ad26..5f5b0b8370cbe6ea0afc0c8829995b19b4d210e4 100644 --- a/Classes/Domain/Repository/JobRepository.php +++ b/Classes/Domain/Repository/JobRepository.php @@ -286,13 +286,13 @@ class JobRepository extends Repository { if ($resultCount < $minRelatedJobs) { $queryResult = $query->execute()->toArray(); array_push($relatedJobs, ...$queryResult); - $query = $this->prepareRelatedJobsQuery($job, 1, $limit); + $query = $this->prepareRelatedJobsQuery($job, 1, $limit - $resultCount); $queryResult = $query->execute()->toArray(); array_push($relatedJobs, ...$queryResult); $relatedJobs = array_unique($relatedJobs); $relatedJobsCount = count($relatedJobs); if ($relatedJobsCount < $minRelatedJobs) { - $query = $this->prepareRelatedJobsQuery($job, 2, $limit); + $query = $this->prepareRelatedJobsQuery($job, 2, $limit - $relatedJobsCount); $queryResult = $query->execute()->toArray(); array_push($relatedJobs, ...$queryResult); $relatedJobs = array_unique($relatedJobs); @@ -313,7 +313,7 @@ class JobRepository extends Repository { * @param int $limit * @return QueryInterface */ - protected function prepareRelatedJobsQuery(Job $job, int $iteration, $limit = 0): QueryInterface { + protected function prepareRelatedJobsQuery(Job $job, int $iteration, int $limit = 0): QueryInterface { $query = $this->createQuery(); $constraints = []; $storagePageIds = $query->getQuerySettings()->getStoragePageIds();