Newer
Older
<?php
declare(strict_types=1);
namespace IQDEV\Packages\DoctrineHttpFilter\Filter;
use Doctrine\ORM\QueryBuilder;
use IQDEV\Packages\DoctrineHttpFilter\Exception\FilterParameterValueIsNullException;
use IQDEV\Packages\DoctrineHttpFilter\HttpFilter;
final class Like extends HttpFilter
{
/** @throws FilterParameterValueIsNullException */
public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
{
$queryBuilder->where(
$this->getColumn() . ' LIKE :' . $this->getParameterKey(),
if ($this->getHttpValue() === null) {
throw new FilterParameterValueIsNullException($this->field);
}
$queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%');
return $queryBuilder;
}
}