Am 17.07.2016 um 22:02 schrieb Dr. Dieter Porth: > Hast du das Problem mit xdebug untersucht? mit der Vorgehensweise bin ich leider überfragt...
> Vermutung: Könnte es sein, dass eine Required-Angabe in deinem > $newLiveDialog fehlt und du als Parameter schon null bei der > createAction empfängst. die im new Formular gesetzten Informationen kommen bei create an... ich habe mal wieder einige der Dinge eingefügt die real bei create passieren sollen (und ich habe zur Sicherheit auch diverse @ignorevalidation eingefügt): /** * action create * * @param \Vend\Ext\Domain\Model\LiveDialog $newLiveDialog * @ignorevalidation $newLiveDialog * @ignorevalidation $twin * @ignorevalidation $ptwin * @return void */ public function createAction(\Vend\Ext\Domain\Model\LiveDialog $newLiveDialog) { // hier hole ich mir die im Formular gesetzte Werte // es sind twin und partnertwin $twin = $newLiveDialog->getTwin(); $ptwin = $newLiveDialog->getPartnertwin(); // hier prüfe ich ob ein solcher Dialog schon existiert // der redirect nach erfolgreicher Prüfung ist OK $existingLiveDialog = $this->liveDialogRepository->findOneExistingLiveDialog($twin, $ptwin); if ($existingLiveDialog){ $this->redirect('show','LiveDialog',NULL,array('liveDialog' => $existingLiveDialog->getUid() ),$this->settings['LD-stdDialog']); } else { // wenn en solcher Dialog twischen twin und ptwin nicht existiert // wird die folgende Dialog-Datei wird auch völlig korrekt angelegt $twinmessagefile = 'fileadmin/pfad/' . $twin->getPid() . '/LiveDialog_' . $twin->getUid() . '_' . $ptwin->getUid() . '.html'; $twindatei = fopen($twinmessagefile, 'w'); fclose($twindatei); $newLiveDialog->setMessagefile($twinmessagefile); // hier aber wird KEIN liveDialog Datensatz angelegt ... WARUM ??? // und erst ab hier sollte $newLiveDialog ja auch real existieren ??? $this->liveDialogRepository->add($newLiveDialog); // es wird logischerweise KEIN liveDialog parameter übergeben // twin und ptwin Parameter (hier nur mal zum Test) sind aber OK $this->redirect('show','LiveDialog',NULL,array('liveDialog' => $newLiveDialog, 'twin' => $twin, 'ptwin' => $ptwin),99; } } ____________________________ beim Schreiben kam mir gerade eine Idee ob ich nicht einen grundsätzlichen Fehler mache (wüßte jetzt aber nicht wie er vermeidbar ist)... Ein liveDialog Datensatz ist ein 1:n Child eines twin Datensatzes, ich versuche ihn aber hier direkt anzulegen und den Bezug manuel zu setzen über das Feld twin... kann das den Fehler verursachen (wie vermeidbar?) Müste es hier anstelle $this->liveDialogRepository->add($newLiveDialog) vielleicht sowas wie etwa folgendes sein (so gehts natürlich nicht): $this->twinRepository->update($twin->attach($liveDialog)) -- image[FORMAT] - Ralf-René Schröder http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german