Zum Inhalt springen

repository->add funktioniert

Erstellt am 7. Juli 2014 · 4 Antworten · letzte Antwort am 7. Juli 2014

Tags: Frage

fuzz ·

Hallo,

habe mit dem aktuellen Extension Builder mir eine Ext in Typo3 6.2 gebaut.

Datensätze updaten und löschen klappt, aber das anlegen geht nicht
(createAction) und ich weiß nicht warum. Habe an dem "Standard" was der
Ext.Builder baut nichts geändert.

Jemand eine Idee woran es liegen könnte?

Danke & Gruß

aemka ·

update() nutzt man wenn man Daten ändern möchte. Das hat hiermit nichts zu tun. add() reicht fürs Anlegen. Hast du deine DB ganz genau gecheckt, ob wirklich nichts geschrieben wurde? Evtl. ist nur die pid undefiniert, und die daten liegen jetzt nur nicht im richtigen Sysfolder.

fuzz ·

ich weiß nicht ob es weiterhilft oder ob das normal ist...
jedenfalls wenn ich in der createAction ein Debug mache mit dem objekt bekomme ich folgenden fehler:

#1: PHP Warning: Invalid argument supplied for foreach() in /home/typo3/typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php line 270

public function createAction(\HH\HhStageboxx\Domain\Model\Artist $newArtist) {
		$feUserId = $GLOBALS['TSFE']->fe_user->user['uid'];
		if ( empty($feUserId) ) die("NOT LOGGED IN");
		
		$newArtist->setFeUserId($feUserId);
		
		$this->addFlashMessage('The object was created. Please be aware that this action is publicly accessible unless you implement an access check. See <a href="http://wiki.typo3.org/T3Doc/Extension_Builder/Using_the_Extension_Builder#1._Model_the_domain" target="_blank">Wiki</a>', '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
		$this->artistRepository->add($newArtist);
		die(\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($newArtist));
		#$persistenceManager = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
		#$persistenceManager->persistAll();
		
		$this->redirect('list');
	}