<?php
namespace App\Repository;
use App\Entity\CityPost;
use App\Form\Model\FilterCityModel;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Doctrine\Persistence\ManagerRegistry;
/**
* @method CityPost|null find($id, $lockMode = null, $lockVersion = null)
* @method CityPost|null findOneBy(array $criteria, array $orderBy = null)
* @method CityPost[] findAll()
* @method CityPost[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class CityPostRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, CityPost::class);
}
public function getFilteredCity(FilterCityModel $filterCityModel)
{
$queryBuilder = $this->createQueryBuilder('p');
if($filterCityModel->getName() !== null) {
$queryBuilder
->where('p.name LIKE :name')
->setParameter('name', '%'.$filterCityModel->getName().'%')
;
}
$queryBuilder
->orderBy('p.name', 'ASC');
return $queryBuilder->getQuery()->getResult();
}
}