getId()) { return $field; } // set alias as name if alias is empty $alias = ($field->getAlias() ?: $field->getName()) ?: ''; // clean the alias $alias = $this->fieldModel->cleanAlias($alias, 'f_', 25); // make sure alias is not already taken $repo = $this->fieldModel->getRepository(); $testAlias = $alias; $aliases = $repo->getAliases($field->getId(), false, true, null); $count = (int) in_array($testAlias, $aliases); $aliasTag = $count; while ($count) { $testAlias = $alias.$aliasTag; $count = (int) in_array($testAlias, $aliases); ++$aliasTag; } if ($testAlias !== $alias) { $alias = $testAlias; } $field->setAlias($alias); return $field; } }