Hallo,
ich habe ein Model Answer welches per n:1 Relation auf ein Model Employee verweist.
Answer hat in der Tabelle also die Employee.Uid als Feld.
Wenn ich den Employee nun im Controller per $newAnswer->setEmployee() setze wird sobald
$this->answerRepository->add($newAnswer); aufgerufen wird ein Fehler auftreten.
Die ganze createAction:
public function createAction(Tx_MyExt_Domain_Model_Answer $newAnswer) {
$newAnswer->setEmployee($this->currentUser);
$this->answerRepository->add($newAnswer);
$this->flashMessageContainer->add('Your new Answer was created.');
$this->redirect('new');
}
Führt dann zu Fehler:
ERROR
The requested URL could not be retrieved
Ungültige Antwort Fehler erhalten als versucht wurde die Anfrage zu bearbeiten:
POST /my-ext/myext/?tx_myext_plugin%5Baction%5D=create&tx_myext_plugin%5Bcontroller%5D=Answer HTTP/1.1
Host: www.mydomain.net
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Proxy-Connection: keep-alive
Referer: http://www.mydomain.net/my-ext/myext/fe5de98dbea01fac9f71d46cfae81012/?tx_myext_plugin%5Baction%5D=new&tx_myext_plugin%5Bcontroller%5D=Answer
Cookie: CAKEPHP=3d1edccecbaab074440c10fb3a3d2e84; PHPSESSID=022d4782e9ac5fd70ff326e0aa3a8de7; be_typo_user=2dedc38564e385a4e24ff524324a4e97; typo3-login-cookiecheck=true; fe_typo_user=c2f06828ae6066949b3a7d3715512558
Content-Type: application/x-www-form-urlencoded
Content-Length: 748
Die HTTP Antwortnachricht, die vom Kontaktierten Server empfangen wurde, wurde nicht verstanden oder ist falsch. Bitte kontaktieren sie den Webmaster.
Webserver ist ein Debian mit PHP 5.2
Wenn ich alles identisch mache, aber statt
$newAnswer->setEmployee($this->currentUser);
in der createAction auszuführen übergebe ich den currentUser in der newAction an die View
$this->view->assign('user', $this->currentUser);
und setze im Template dann ein hidden Feld
<f:form.hidden property="employee" value="{user.uid}" />
Dann funktioniert alles.
Dieser Workaround funktioniert aber leider nicht wenn ich ein Formular bauen möchte welches mir gleich mehrere Objekte vom Typ Answer anlegt.
Ist das ein Bug in extbase oder mache ich irgendwas falsch?