Add QuizCategory queryBuilder

pull/3844/head
Julio Montoya 5 years ago
parent 43526e33df
commit f737dcb540
  1. 18
      src/CourseBundle/Repository/CQuizRepository.php

@ -29,13 +29,15 @@ final class CQuizRepository extends ResourceRepository implements ResourceWithLi
Session $session = null,
?string $title = null,
?int $active = null,
bool $onlyPublished = true
bool $onlyPublished = true,
?int $categoryId = null
): QueryBuilder {
$qb = $this->getResourcesByCourse($course, $session);
if ($onlyPublished) {
$this->addDateFilterQueryBuilder(new DateTime(), $qb);
}
$this->addCategoryQueryBuilder($categoryId, $qb);
$this->addActiveQueryBuilder($active, $qb);
$this->addNotDeletedQueryBuilder($qb);
$this->addTitleQueryBuilder($title, $qb);
@ -103,6 +105,20 @@ final class CQuizRepository extends ResourceRepository implements ResourceWithLi
return $qb;
}
private function addCategoryQueryBuilder(?int $categoryId = null, QueryBuilder $qb = null): QueryBuilder
{
$qb = $this->getOrCreateQueryBuilder($qb);
if (null !== $categoryId) {
$qb
->andWhere('resource.exerciseCategory = :category_id')
->setParameter('category_id', $categoryId)
;
}
return $qb;
}
/**
* @param int|null $active
* null = no filter

Loading…
Cancel
Save