<?php
declare(strict_types=1);
namespace Slivki\Repository\Media;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
use Slivki\Entity\Media\ProfileImageMedia;
final class ProfileImageMediaRepository extends ServiceEntityRepository implements ProfileImageMediaRepositoryInterface
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, ProfileImageMedia::class);
}
public function findByUserId(int $userId): ?ProfileImageMedia
{
$qb = $this->createQueryBuilder('profile_image_media');
$expr = $qb->expr();
return $qb
->andWhere($expr->eq('profile_image_media.user', ':userId'))
->setParameter('userId', $userId)
->getQuery()
->getOneOrNullResult()
;
}
public function delete(ProfileImageMedia $media): void
{
$entityManager = $this->getEntityManager();
$entityManager->remove($media);
$entityManager->flush($media);
}
}