Sulu\Component\Rest\ListBuilder\Doctrine\DoctrineListBuilder::getEntityNamesOfFieldDescriptors PHP Method

getEntityNamesOfFieldDescriptors() protected method

Returns array of field-descriptor aliases.
protected getEntityNamesOfFieldDescriptors ( array $filterFields ) : string[]
$filterFields array
return string[]
    protected function getEntityNamesOfFieldDescriptors($filterFields)
    {
        $fields = [];
        // filter array for DoctrineFieldDescriptors
        foreach ($filterFields as $field) {
            // add joins of field
            $fields = array_merge($fields, $field->getJoins());
            if ($field instanceof DoctrineFieldDescriptor || $field instanceof DoctrineJoinDescriptor) {
                $fields[] = $field;
            }
        }
        $fieldEntityNames = [];
        foreach ($fields as $key => $field) {
            // special treatment for join descriptors
            if ($field instanceof DoctrineJoinDescriptor) {
                $fieldEntityNames[] = $key;
            }
            $fieldEntityNames[] = $field->getEntityName();
        }
        // unify result
        return array_unique($fieldEntityNames);
    }