Dire che ho una radice aggregata Entity
con alcuni flag che sono rappresentati da un oggetto incapsulato EntityFlags
:
class Entity
{
/** @var EntityFlags */
private $flags;
...
}
Ho un repository per questa entità.
Il mio obiettivo è modificare i flag nel DB. Ci sono due modi in cui vedo:
- Ottieni entità dal repository, modifica i flag come
$entity->getFlags()->set($name, true)
e salvalo:$repository->save($entity)
. - Creare un metodo aggiuntivo nel repository, ad es. %codice%
Penso che il primo modo sia ridondante. Ma sembra anche sbagliato usare il repository per aggiornamenti di entità parziali come nel 2 ° modo. Quale è quella giusta? Forse mi sono perso qualcosa?