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

QuestionRepository::retrieveFirstByCategorySlug()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 9
nc 1
nop 1
dl 0
loc 13
rs 9.4285
c 0
b 0
f 0
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 QuestionRepository
10
 *
11
 * @package Genj\FaqBundle\Entity
12
 */
13
class QuestionRepository extends EntityRepository
14
{
15
    /**
16
     * @param string $categorySlug
17
     *
18
     * @return Question|null
19
     */
20
    public function retrieveFirstByCategorySlug($categorySlug)
21
    {
22
        $query = $this->createQueryBuilder('q')
23
            ->join('q.category', 'c')
24
            ->join('c.translations', 't')
25
            ->where('t.slug = :categorySlug')
26
            ->orderBy('q.rank', 'ASC')
27
            ->setMaxResults(1)
28
            ->getQuery();
29
30
        $query->setParameter('categorySlug', $categorySlug);
31
32
        return $query->getOneOrNullResult();
33
    }
34
35
    /**
36
     * @param string $slug
37
     *
38
     * @return Question|null
39
     */
40
    public function getQuestionBySlug($slug)
41
    {
42
        $query = $this->createQueryBuilder('q')
43
            ->join('q.translations', 't')
44
            ->where('t.slug = :slug')
45
            ->orderBy('q.rank', 'ASC')
46
            ->setMaxResults(1)
47
            ->getQuery();
48
49
        $query->setParameter('slug', $slug);
50
51
        return $query->getOneOrNullResult();
52
    }
53
}
54