|
@@ -1,4 +1,5 @@
|
|
|
<?php
|
|
<?php
|
|
|
|
|
+
|
|
|
declare(strict_types=1);
|
|
declare(strict_types=1);
|
|
|
|
|
|
|
|
namespace App\Filter\ApiPlatform\Utils;
|
|
namespace App\Filter\ApiPlatform\Utils;
|
|
@@ -20,6 +21,15 @@ use ApiPlatform\Metadata\Operation;
|
|
|
*/
|
|
*/
|
|
|
class ArrayFieldFilter extends AbstractFilter
|
|
class ArrayFieldFilter extends AbstractFilter
|
|
|
{
|
|
{
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @param string $property
|
|
|
|
|
+ * @param mixed $value
|
|
|
|
|
+ * @param QueryBuilder $queryBuilder
|
|
|
|
|
+ * @param QueryNameGeneratorInterface $queryNameGenerator
|
|
|
|
|
+ * @param string $resourceClass
|
|
|
|
|
+ * @param Operation|null $operation
|
|
|
|
|
+ * @param array<mixed> $context
|
|
|
|
|
+ */
|
|
|
protected function filterProperty(
|
|
protected function filterProperty(
|
|
|
string $property,
|
|
string $property,
|
|
|
$value,
|
|
$value,
|
|
@@ -47,10 +57,14 @@ class ArrayFieldFilter extends AbstractFilter
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
$queryBuilder->andWhere(sprintf('o.%s LIKE :%s', $property, $parameterName))
|
|
$queryBuilder->andWhere(sprintf('o.%s LIKE :%s', $property, $parameterName))
|
|
|
- ->setParameter($parameterName, '%' . $value . '%');
|
|
|
|
|
|
|
+ ->setParameter($parameterName, '%' . $value . '%');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @param string $resourceClass
|
|
|
|
|
+ * @return array<string, mixed>
|
|
|
|
|
+ */
|
|
|
public function getDescription(string $resourceClass): array
|
|
public function getDescription(string $resourceClass): array
|
|
|
{
|
|
{
|
|
|
if (!$this->properties) {
|
|
if (!$this->properties) {
|