Hallo,
ich habe ein Gutschein Model mit dazugehörigem Repository. Lesen und Updates funktionieren.
Ich erzeuge im Controller ein neues Objekt des Gutscheinmodells und setze alle Werte manuell, nicht über ein Formular oder Dependency Injection.
Nachdem ich über die ->add() -Funktion das Objekt hinzugefügt habe, persistiere ich die Änderungen. Allerdings geschieht hier nichts. Das Objekt wird nicht real in die Datenbank geschrieben. Allerdings erhalte ich auch keine Fehlermeldung. Weder im PHP Log, noch Typo3 Logs. Da ich zum ersten Mal per Code in die DB schreiben muss, habe ich nun wirklich keine Ahnung mehr woran das liegen könnte.
PS: Das ist leider noch Typo3 4.5 mit Extbase 1.3. (Ich weiß um den verbleibenden Supportzeitraum).
Hie die Codeauszüge:
Model (ohne getter/setter):
class Tx_XY_Domain_Model_Gutschein extends Tx_Extbase_DomainObject_AbstractEntity { /** * code * * @var string * @validate NotEmpty */ protected $code; /** * wert * * @var float * @validate NotEmpty */ protected $wert; /** * verbrannt * * @var boolean */ protected $verbrannt = FALSE; /** * typ * * @var int */ protected $typ = 1; //... }
Hier der Code im Controller:
public function pageAction(){ // ... // save to db // add a dummy gutschein for testing purpose $newGutschein = new Tx_XY_Domain_Model_Gutschein(); $newGutschein->setCode('ABC123'); $newGutschein->setTyp(1); $newGutschein->setWert(10); $newGutschein->setVerbrannt(0); $this->gutscheinRepository->add($newGutschein); $persistenceManager = $this->objectManager->get('Tx_Extbase_Persistence_Manager'); $persistenceManager->persistAll(); // ... }

