NewsRepository.php 1.08 KB
Newer Older
Julien Jorry committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
<?php

namespace App\Repository;

use App\Entity\News;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;

/**
 * @method News|null find($id, $lockMode = null, $lockVersion = null)
 * @method News|null findOneBy(array $criteria, array $orderBy = null)
 * @method News[]    findAll()
 * @method News[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
 */
class NewsRepository extends ServiceEntityRepository
{
    public function __construct(ManagerRegistry $registry)
    {
        parent::__construct($registry, News::class);
    }

    /**
     * @return News[] Returns an array of News objects
     */
25
    public function findLatest($limit = 0)
Julien Jorry committed
26 27 28
    {
        $qb = $this->createQueryBuilder('n');

29
        $qb
Julien Jorry committed
30 31
            ->where('n.enabled = :enabled')
            ->setParameter('enabled', true)
32 33
            ->orderBy('n.position', 'ASC')
            ->addOrderBy('n.createdAt', 'DESC');
34 35 36 37 38 39

        if ($limit > 0) {
            $qb->setMaxResults($limit);
        }

        return $qb->getQuery();
Julien Jorry committed
40 41
    }
}