- Added a 'select' attribute, WIP on ArrayCollection and ArrayOf also

This commit is contained in:
Dave Mc Nicoll committed 2026-04-24 19:26:02 +00:00
1 parent b394b9348f
commit f938e18572
7 files changed
+56 -34

No files matched your search

+6 -6
View File
@@ -309,21 +309,21 @@ trait EntityTrait {
}
#[Ignore]
public static function field($name, null|string|false $alias = Repository::DEFAULT_ALIAS) : EntityField
public static function field($name, null|string|false $alias = Repository::DEFAULT_ALIAS, bool $select = false) : EntityField
{
$default = ( $alias === false ? '' : static::repository()::DEFAULT_ALIAS ); # bw compatibility, to be deprecated
$alias = $alias ? Ulmus::repository(static::class)->adapter->adapter()->escapeIdentifier($alias, Adapter\AdapterInterface::IDENTIFIER_FIELD) : $default;
return new EntityField(static::class, $name, $alias, Ulmus::resolveEntity(static::class));
return new EntityField(
entityClass: static::class, name: $name, alias: $alias, entityResolver: Ulmus::resolveEntity(static::class), select: $select
);
}
#[Ignore]
public static function fields(array $fields, null|string|false $alias = Repository::DEFAULT_ALIAS, string $separator = ', ') : string
public static function fields(array $fields, null|string|false $alias = Repository::DEFAULT_ALIAS, string $separator = ', ', bool $select = false) : string
{
return implode($separator, array_map(function($item) use ($alias){
return static::field($item, $alias);
}, $fields));
return implode($separator, array_map(fn($e) => static::field($e, $alias, $select), $fields));
}
#[Ignore]