ulmus/src/Attribute/Attribute.php

26 lines
621 B
PHP

<?php
namespace Ulmus\Attribute;
use Ulmus\Common\EntityField;
use Ulmus\Repository;
class Attribute
{
public static function handleArrayField(null|\Stringable|string|array $field, null|string|bool $alias = Repository::DEFAULT_ALIAS, string $separator = ', ') : mixed
{
if ( is_array($field) ) {
$class = array_shift($field);
$field[1] ??= $alias;
if (is_array($field[0])) {
$field[] = $separator;
return $class::fields(...$field);
}
return $class::field(...$field);
}
return $field;
}
}