Hallo,
Ich habe eine Klasse mit einem Attribut "associations" vom Typ Tx_Extbase_Persistence_ObjectStorage<Tx_MmosUsermanagement_Domain_Model_Association>
Wenn ich einen Datensatz hinzufüge und eine Liste von Associations angegeben habe, werden diese auch gespiechert.
Will ich allerdings einen Datensatz bearbeiten und wähle keine Association aus einer Dropdown Liste aus, so werden die vorhandenen allerdings auch nicht gelöscht.
Hat jemand eine Idee, woran das liegen könnte?
Das Model sieht so aus:
Class Tx_MmosUsermanagement_Domain_Model_Member Extends Tx_Extbase_DomainObject_AbstractEntity {
/**
* The association memberships
* @var Tx_Extbase_Persistence_ObjectStorage<Tx_MmosUsermanagement_Domain_Model_Association>
* @cascade remove
*/
Protected $associations;
public Function __construct() {
$this -> associations = new Tx_Extbase_Persistence_ObjectStorage();
}
/**
* Add a association
*
* @param Tx_MmosUsermanagement_Domain_Model_Association $association
*/
public Function addAssociation(Tx_MmosUsermanagement_Domain_Model_Association $association) {
$this -> associations -> attach($association);
}
/**
*
* Gets all memberships.
* @return Tx_Extbase_Persistence_ObjectStorage<Tx_MmosUsermanagement_Domain_Model_Association>
*/
public Function getAssociations() { Return $this -> associations; }
/**
*
* remove all associations.
*/
public Function removeAllAssociations() {
$this -> associations = new Tx_Extbase_Persistence_ObjectStorage();
}
/**
* Setter for associations
*
* @param Tx_Extbase_Persistence_ObjectStorage $associations One or more Tx_MmosUsermanagement_Domain_Model_Association objects
* @return void
*/
public function setAssociations(Tx_Extbase_Persistence_ObjectStorage $associations) {
$this -> associations = $associations;
}
}
Die Beziehung zwischen Member und Assoziation ist als M:N eingerichtet.
Grüße Micha