Test Failed
Push — master ( 482637...7bef58 )
by Julito
33:32
created

CategoryRepository   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 70
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 70
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getCategoryActiveBySlug() 0 12 1
A retrieveActiveBySlug() 0 12 1
A retrieveActive() 0 10 1
A retrieveFirst() 0 11 1
1
<?php
2
/* For licensing terms, see /license.txt */
3
4
namespace Chamilo\FaqBundle\Entity;
5
6
use Doctrine\ORM\EntityRepository;
7
8
/**
9
 * Class CategoryRepository
10
 *
11
 * @package Genj\FaqBundle\Entity
12
 */
13
class CategoryRepository extends EntityRepository
14
{
15
    /**
16
     * @return mixed
17
     */
18
    public function retrieveActive()
19
    {
20
        $query = $this->createQueryBuilder('c')
21
            ->where('c.isActive = :isActive')
22
            ->orderBy('c.rank', 'ASC')
23
            ->getQuery();
24
25
        $query->setParameter('isActive', true);
26
27
        return $query->execute();
28
    }
29
30
    /**
31
     * @param string $slug
32
     *
33
     * @return mixed
34
     */
35
    public function retrieveActiveBySlug($slug)
36
    {
37
        $query = $this->createQueryBuilder('c')
38
            ->where('c.isActive = :isActive')
39
            ->andWhere('c.slug = :slug')
40
            ->orderBy('c.rank', 'ASC')
41
            ->getQuery();
42
43
        $query->setParameter('isActive', true);
44
        $query->setParameter('slug', $slug);
45
46
        return $query->execute();
47
    }
48
49
    /**
50
     * @param string $slug
51
     *
52
     * @return mixed
53
     */
54
    public function getCategoryActiveBySlug($slug)
55
    {
56
        $query = $this->createQueryBuilder('c')
57
            ->join('c.translations', 't')
58
            ->where('c.isActive = :isActive')
59
            ->andWhere('t.slug = :slug')
60
            ->getQuery();
61
62
        $query->setParameter('isActive', true);
63
        $query->setParameter('slug', $slug);
64
65
        return $query->getOneOrNullResult();
66
    }
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