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

fix: Обработка null значения в фильтре Date

parent d34643df
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 Date extends HttpFilter
{
    /** @throws FilterParameterValueIsNullException */
    public function addToQuery(QueryBuilder $queryBuilder): QueryBuilder
    {
        $queryBuilder->where(
            'strftime(\'%Y-%m-%d\', ' . $this->getColumn() . ') = \'' . $this->getHttpValue() . '\'',
            'strftime(\'%Y-%m-%d\', ' . $this->getColumn() . ') = :' . $this->getParameterKey(),
        );

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

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

        return $queryBuilder;
    }
}