Passed
Push — master ( 339de6...726bd3 )
by Julito
14:57
created

CategoryRepository::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\FaqBundle\Repository;
5
6
use Chamilo\FaqBundle\Entity\Category;
7
use Doctrine\ORM\EntityRepository;
8
9
/**
10
 * Class CategoryRepository.
11
 *
12
 * @package Genj\FaqBundle\Entity
13
 */
14
class CategoryRepository extends EntityRepository
15
{
16
    /**
17
     * @return mixed
18
     */
19
    public function retrieveActive()
20
    {
21
        $query = $this->createQueryBuilder('c')
22
            ->where('c.isActive = :isActive')
23
            ->orderBy('c.rank', 'ASC')
24
            ->getQuery();
25
26
        $query->setParameter('isActive', true);
27
28
        return $query->execute();
29
    }
30
31
    /**
32
     * @param string $slug
33
     *
34
     * @return mixed
35
     */
36
    public function retrieveActiveBySlug($slug)
37
    {
38
        $query = $this->createQueryBuilder('c')
39
            ->where('c.isActive = :isActive')
40
            ->andWhere('c.slug = :slug')
41
            ->orderBy('c.rank', 'ASC')
42
            ->getQuery();
43
44
        $query->setParameter('isActive', true);
45
        $query->setParameter('slug', $slug);
46
47
        return $query->execute();
48
    }
49
50
    /**
51
     * @param string $slug
52
     *
53
     * @return mixed
54
     */
55
    public function getCategoryActiveBySlug($slug)
56
    {
57
        $query = $this->createQueryBuilder('c')
58
            ->join('c.translations', 't')
59
            ->where('c.isActive = :isActive')
60
            ->andWhere('t.slug = :slug')
61
            ->getQuery();
62
63
        $query->setParameter('isActive', true);
64
        $query->setParameter('slug', $slug);
65
66
        return $query->getOneOrNullResult();
67
    }
68
69
    /**
70
     * @return Category|null
71
     */
72
    public function retrieveFirst()
73
    {
74
        $query = $this->createQueryBuilder('c')
75
            ->where('c.isActive = :isActive')
76
            ->orderBy('c.rank', 'ASC')
77
            ->setMaxResults(1)
78
            ->getQuery();
79
80
        $query->setParameter('isActive', true);
81
82
        return $query->getOneOrNullResult();
83
    }
84
}
85