Witam, mam klasę Produkt oraz Tag. Te dwie klasy są w relacji ManyToMany. Dla klasy Produkt stworzyłem Event ProduktListener.
Chciałbym żeby po każdej edycji jednego pola np. nazwy produktu, usuwały się wszystkie Tagi powiązane z Produktem. Do tego użyłem w tym Listenerze funkcji preUpdate()
.
public function preUpdate(Product $object, PreUpdateEventArgs $eventArgs)
{
if ($eventArgs->hasChangedField('name')) {
$object->getTags()->clear();
}
}
Dlaczego wszystkie inne właściwości klasy się zmieniają z każdą edycją nazwy, a nie mogę wyczyscić tablicy z Tagami? Próbowałem różnych sposobów, na przykłąd z ponownym użyciem EntityManagera ale ponowny Flush chyba zapętla ten Event i zapełnia pamięć.
Jak modifukować powiązaną kolekcje obiektów ?