Skip to content

Commit 44ce2a3

Browse files
committed
fix(doctrine): properly set properties according to interface
`setProperties` belong to PropertyAwareFilterInterface in should be set regardless of the usage of AbstractFilter.
1 parent 99718d9 commit 44ce2a3

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/Doctrine/Orm/Extension/ParameterExtension.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace ApiPlatform\Doctrine\Orm\Extension;
1515

1616
use ApiPlatform\Doctrine\Common\Filter\ManagerRegistryAwareInterface;
17+
use ApiPlatform\Doctrine\Common\Filter\PropertyAwareFilterInterface;
1718
use ApiPlatform\Doctrine\Common\ParameterValueExtractorTrait;
1819
use ApiPlatform\Doctrine\Orm\Filter\AbstractFilter;
1920
use ApiPlatform\Doctrine\Orm\Filter\FilterInterface;
@@ -68,7 +69,10 @@ private function applyFilter(QueryBuilder $queryBuilder, QueryNameGeneratorInter
6869
$filter->setManagerRegistry($this->managerRegistry);
6970
}
7071

71-
if ($filter instanceof AbstractFilter && !$filter->getProperties()) {
72+
if ($filter instanceof PropertyAwareFilterInterface) {
73+
$propertyKey = $parameter->getProperty() ?? $parameter->getKey();
74+
$filter->setProperties([$propertyKey => $parameter->getFilterContext()]);
75+
} elseif ($filter instanceof AbstractFilter && !$filter->getProperties()) {
7276
$propertyKey = $parameter->getProperty() ?? $parameter->getKey();
7377

7478
if (str_contains($propertyKey, ':property')) {

0 commit comments

Comments
 (0)