58 lines
1.3 KiB
PHP
Raw Normal View History

2018-05-06 13:53:46 +02:00
<?php
declare(strict_types=1);
namespace App\Service;
use App\Entity\Awardee;
use Doctrine\ORM\EntityManager;
class AwardeeManager
{
/** @var EntityManager */
private $entityManager;
public function __construct(EntityManager $entityManager)
{
$this->entityManager = $entityManager;
}
2018-05-11 10:46:00 +02:00
public function getAwardees(): ?array
{
return $this->entityManager->getRepository(Awardee::class)->findBy([], [
'year' => 'DESC',
]);
}
2018-05-06 13:53:46 +02:00
/**
* @param int $year
* @return Awardee[]
*/
public function getAwardeesByYear(int $year): ?array
2018-05-06 13:53:46 +02:00
{
return $this->entityManager->getRepository(Awardee::class)->findBy([
'year' => $year,
]);
}
2018-05-11 10:46:00 +02:00
public function getAwardee(int $id): ?Awardee
{
/** @var Awardee $awardee */
$awardee = $this->entityManager->getRepository(Awardee::class)->find($id);
return $awardee;
}
2018-05-06 13:53:46 +02:00
/**
* @param string $slug
* @return Awardee|null
*/
public function getAwardeeFromSlug(string $slug): ?Awardee
2018-05-06 13:53:46 +02:00
{
/** @var Awardee $awardee */
$awardee = $this->entityManager->getRepository(Awardee::class)->findOneBy([
'slug' => $slug,
]);
return $awardee;
}
}