Commit 8c94aa5b authored by Адлан Шамавов's avatar Адлан Шамавов
Browse files

fix: Добавлена обработка null в фильтре Like

parent 0c68dac7
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -5,16 +5,24 @@ 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->getHttpValue() . '%\'',
            $this->getColumn() . ' LIKE :' . $this->getParameterKey(),
        );

        if ($this->getHttpValue() === null) {
            throw new FilterParameterValueIsNullException($this->field);
        }

        $queryBuilder->setParameter($this->getParameterKey(), '%' . $this->getHttpValue() . '%');

        return $queryBuilder;
    }
}