@@ -41,7 +41,7 @@ final class SearchFilter extends AbstractFilter implements SearchFilterInterface
4141
4242 public const DOCTRINE_INTEGER_TYPE = Types::INTEGER ;
4343
44- public function __construct (ManagerRegistry $ managerRegistry , IriConverterInterface $ iriConverter , PropertyAccessorInterface $ propertyAccessor = null , LoggerInterface $ logger = null , array $ properties = null , IdentifiersExtractorInterface $ identifiersExtractor = null , NameConverterInterface $ nameConverter = null )
44+ public function __construct (ManagerRegistry $ managerRegistry , IriConverterInterface $ iriConverter , PropertyAccessorInterface $ propertyAccessor = null , LoggerInterface $ logger = null , array $ properties = null , IdentifiersExtractorInterface $ identifiersExtractor , NameConverterInterface $ nameConverter = null )
4545 {
4646 parent ::__construct ($ managerRegistry , $ logger , $ properties , $ nameConverter );
4747
@@ -100,6 +100,7 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
100100 if ($ metadata ->hasField ($ field )) {
101101 if ('id ' === $ field ) {
102102 $ values = array_map ($ this ->getIdFromValue (...), $ values );
103+ // todo: handle composite IDs
103104 }
104105
105106 if (!$ this ->hasValidValues ($ values , $ this ->getDoctrineFieldType ($ property , $ resourceClass ))) {
@@ -121,9 +122,11 @@ protected function filterProperty(string $property, $value, QueryBuilder $queryB
121122 }
122123
123124 $ values = array_map ($ this ->getIdFromValue (...), $ values );
125+ // todo: handle composite IDs
124126
125127 $ associationResourceClass = $ metadata ->getAssociationTargetClass ($ field );
126- $ associationFieldIdentifier = $ metadata ->getIdentifierFieldNames ()[0 ];
128+ $ associationMetadata = $ this ->getClassMetadata ($ associationResourceClass );
129+ $ associationFieldIdentifier = $ associationMetadata ->getIdentifierFieldNames ()[0 ];
127130 $ doctrineTypeField = $ this ->getDoctrineFieldType ($ associationFieldIdentifier , $ associationResourceClass );
128131
129132 if (!$ this ->hasValidValues ($ values , $ doctrineTypeField )) {
0 commit comments