Passed
Push — master ( de9eb0...f0818c )
by Dev
05:42
created

PageRepository::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
3
namespace PiedWeb\CMSBundle\Repository;
4
5
use PiedWeb\CMSBundle\Entity\PageInterface as Page;
6
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
7
use Symfony\Bridge\Doctrine\RegistryInterface;
8
use Doctrine\ORM\Query;
9
10
/**
11
 * @method Page|null find($id, $lockMode = null, $lockVersion = null)
12
 * @method Page|null findOneBy(array $criteria, array $orderBy = null)
13
 * @method Page[]    findAll()
14
 * @method Page[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
15
 */
16
class PageRepository extends ServiceEntityRepository
17
{
18
    public function getQueryToFindPublished($p)
19
    {
20
        return $this->createQueryBuilder($p)
21
            ->andWhere($p.'.createdAt <=  :nwo')
22
            ->setParameter('nwo', new \DateTime())
23
            ->orderBy($p.'.createdAt', 'DESC')
24
        ;
25
    }
26
27
    public function findOneBySlug($slug, $language = null)
28
    {
29
        $q = $this->createQueryBuilder('p')
30
            ->andWhere('p.slug = :val')
31
            ->setParameter('val', $slug)
32
            ->setMaxResults(1)
33
            ->getQuery()
34
            ->setHint(Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker')
35
            ->setHint(\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker')
36
        ;
37
        if (null !== $language) {
38
            $q->setHint(\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, $language);
39
        }
40
41
        //var_dump($q->getSql()); exit;
42
        $result = $q->getResult();
43
44
        return isset($result[0]) ? $result[0] : null;
45
    }
46
}
47