<?php
/**
* Created by simpson <simpsonwork@gmail.com>
* Date: 2019-03-29
* Time: 11:46
*/
namespace App\Repository;
use App\Entity\SEO\PageMetadata;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
class PageMetadataRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, PageMetadata::class);
}
public function ofUri(string $uri): ?PageMetadata
{
$qb = $this->createQueryBuilder('page_metadata')
->andWhere('page_metadata.uri = :uri')
->setParameter('uri', $uri)
->setMaxResults(1)
;
$query = $qb->getQuery()
->useResultCache(true)
->setResultCacheLifetime(3600)
;
return $query->getOneOrNullResult();
}
}