Skip to content
Snippets Groups Projects
Like.php 805 B
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() . '%');