src/Translation/Doctrine/ORM/Filter/OrderFilter.php
protected function filterProperty(string $property, $order, QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, string $operationName = null)
    {
        if (!$this->isPropertyEnabled($property)) {
            return;
        }

        $alias = $this->addJoinTranslation($queryBuilder, $resourceClass);
        $order = strtoupper($order);

        if (!in_array($order, [static::ORDER_ASC, static::ORDER_DESC], true)) {
            throw new DomainException('Filter order "'.$order.'" does not exist.');
        }

        $queryBuilder->addOrderBy(sprintf('%s.%s', $alias, $property), $order);
    }
protected function filterProperty(string $property, $order, QueryBuilder $queryBuilder, QueryNameGeneratorInterface $queryNameGenerator, string $resourceClass, string $operationName = null)
    {
        if (!$this->isPropertyEnabled($property)) {
            return;
        }

        $alias = $this->addJoinTranslation($queryBuilder, $resourceClass);
        $order = strtoupper($order);

        if (!in_array($order, [static::ORDER_ASC, static::ORDER_DESC], true)) {
            throw new DomainException('Filter order "'.$order.'" does not exist.');
        }

        $queryBuilder->addOrderBy(sprintf('%s.%s', $alias, $property), $order);
    }
Filter property

@param string $property
@param mixed $order
@param \Doctrine\ORM\QueryBuilder $queryBuilder
@param \ApiPlatform\Core\Bridge\Doctrine\Orm\Util\QueryNameGeneratorInterface $queryNameGenerator
@param string $resourceClass
@param string|null $operationName
@throws \DomainException