class User implements UserInterface, IAggregateRoot {
public ActivationTokenCollection $activationTokens;
public ApiTokenCollection $apiTokens;
public ResetPasswordTokenCollection $resetPassTokens;
// other tokens...
Как бы построить маппинг что бы получилось
class User implements UserInterface, IAggregateRoot {
public TokensCollections $tokens;
// other tokens...
public function getTokens(){
// output ArrayCollection->toArray() ---> [ActivationTokenCollection, ApiTokenCollection, ResetPasswordTokenCollection]
}
public function getApiTokens(){
// output ArrayCollection->toArray() [ApiTokenCollection]
}
У разных токено есть некоторые иные поля, все они идут конечно от основного Абстрактного токена.
Такое можно провернуть и с другими сущностями, к примеру у юзера есть куча файлов разных типов.
Лепить по коллекции на каждый тип файла не вариант.
У юзера может быть множественная связь множественных связей.