diff --git a/src/Filter/Date.php b/src/Filter/Date.php index de40e23bacef67ef23e7996b399af79047745d8e..fe7e3caf77c3d5346a94eafc68de0d05b8164298 100644 --- a/src/Filter/Date.php +++ b/src/Filter/Date.php @@ -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; } }