ApiPlatform\Core\Bridge\Doctrine\Orm\Filter\RangeFilter::getDescription PHP Method

getDescription() public method

public getDescription ( string $resourceClass ) : array
$resourceClass string
return array
    public function getDescription(string $resourceClass) : array
    {
        $description = [];
        $properties = $this->properties;
        if (null === $properties) {
            $properties = array_fill_keys($this->getClassMetadata($resourceClass)->getFieldNames(), null);
        }
        foreach ($properties as $property => $unused) {
            if (!$this->isPropertyMapped($property, $resourceClass)) {
                continue;
            }
            $description += $this->getFilterDescription($property, self::PARAMETER_BETWEEN);
            $description += $this->getFilterDescription($property, self::PARAMETER_GREATER_THAN);
            $description += $this->getFilterDescription($property, self::PARAMETER_GREATER_THAN_OR_EQUAL);
            $description += $this->getFilterDescription($property, self::PARAMETER_LESS_THAN);
            $description += $this->getFilterDescription($property, self::PARAMETER_LESS_THAN_OR_EQUAL);
        }
        return $description;
    }

Usage Example

Beispiel #1
0
 public function testGetDescription()
 {
     $filter = new RangeFilter($this->managerRegistry, new RequestStack());
     $this->assertEquals(['id[between]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'id[gt]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'id[gte]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'id[lt]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'id[lte]' => ['property' => 'id', 'type' => 'string', 'required' => false], 'name[between]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'name[gt]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'name[gte]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'name[lt]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'name[lte]' => ['property' => 'name', 'type' => 'string', 'required' => false], 'alias[between]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'alias[gt]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'alias[gte]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'alias[lt]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'alias[lte]' => ['property' => 'alias', 'type' => 'string', 'required' => false], 'description[between]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'description[gt]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'description[gte]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'description[lt]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'description[lte]' => ['property' => 'description', 'type' => 'string', 'required' => false], 'dummy[between]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'dummy[gt]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'dummy[gte]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'dummy[lt]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'dummy[lte]' => ['property' => 'dummy', 'type' => 'string', 'required' => false], 'dummyDate[between]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'dummyDate[gt]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'dummyDate[gte]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'dummyDate[lt]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'dummyDate[lte]' => ['property' => 'dummyDate', 'type' => 'string', 'required' => false], 'dummyFloat[between]' => ['property' => 'dummyFloat', 'type' => 'string', 'required' => false], 'dummyFloat[gt]' => ['property' => 'dummyFloat', 'type' => 'string', 'required' => false], 'dummyFloat[gte]' => ['property' => 'dummyFloat', 'type' => 'string', 'required' => false], 'dummyFloat[lt]' => ['property' => 'dummyFloat', 'type' => 'string', 'required' => false], 'dummyFloat[lte]' => ['property' => 'dummyFloat', 'type' => 'string', 'required' => false], 'dummyPrice[between]' => ['property' => 'dummyPrice', 'type' => 'string', 'required' => false], 'dummyPrice[gt]' => ['property' => 'dummyPrice', 'type' => 'string', 'required' => false], 'dummyPrice[gte]' => ['property' => 'dummyPrice', 'type' => 'string', 'required' => false], 'dummyPrice[lt]' => ['property' => 'dummyPrice', 'type' => 'string', 'required' => false], 'dummyPrice[lte]' => ['property' => 'dummyPrice', 'type' => 'string', 'required' => false], 'jsonData[between]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'jsonData[gt]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'jsonData[gte]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'jsonData[lt]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'jsonData[lte]' => ['property' => 'jsonData', 'type' => 'string', 'required' => false], 'nameConverted[between]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false], 'nameConverted[gt]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false], 'nameConverted[gte]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false], 'nameConverted[lt]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false], 'nameConverted[lte]' => ['property' => 'nameConverted', 'type' => 'string', 'required' => false], 'dummyBoolean[between]' => ['property' => 'dummyBoolean', 'type' => 'string', 'required' => false], 'dummyBoolean[gt]' => ['property' => 'dummyBoolean', 'type' => 'string', 'required' => false], 'dummyBoolean[gte]' => ['property' => 'dummyBoolean', 'type' => 'string', 'required' => false], 'dummyBoolean[lt]' => ['property' => 'dummyBoolean', 'type' => 'string', 'required' => false], 'dummyBoolean[lte]' => ['property' => 'dummyBoolean', 'type' => 'string', 'required' => false]], $filter->getDescription($this->resourceClass));
 }