Liebe Gemeinde
Meine Google-Suche hat nichts ergeben.
Meine Umgebung TYPO3 6.2.13.
Ich habe eine Datenbanktabelle mit einer Fremdschlüssel-Beziehung auf eine andere Tabelle. Wenn ich über die Repository-Klasse einen neuen Datensatz in dieser Tabelle erzeugen will, gibt extbase einen Fehler aus.
Beim Debuggen habe ich herausgefunden, dass extbase zuerst einen Datensatz erzeugen will, der nur ein paar Standardfelder, wie z.B. pid, crdate, tstamp, usw. enthält, und erst in einem zweiten Anlauf dann die Benutzerdaten abspeichert. Das schlägt aber fehl, weil im ersten Anlauf der Fremdschlüssel fehlt.
Konkret:
Tabelle: tx_budget_domain_model_konto enthält einen Fremdschlüssel auf die Tabelle tx_budget_domain_model_konto_type und einen auf die Tabelle tx_budget_domain_model_bank.
Die Fehlermeldung: Cannot add or update a child row: a foreign key constraint fails (`budget`.`tx_budget_domain_model_konto`, CONSTRAINT `tx_budget_domain_model_konto_ibfk_1` FOREIGN KEY (`konto_type`) REFERENCES `tx_budget_domain_model_konto_type` (`uid`))
debug_backtrace: require(ypo3_src-6.2.13\typo3\sysext\cms\tslib\index_ts.php),ypo3_src-6.2.13\index.php#28 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript#232 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent#3638 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript_process#3671 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->USER#3723 // TYPO3\CMS\Frontend\ContentObject\UserContentObject->render#862 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction#41 // call_user_func_array#6634 // TYPO3\CMS\Extbase\Core\Bootstrap->run# // TYPO3\CMS\Extbase\Core\Bootstrap->handleRequest#184 // TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler->handleRequest#195 // TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch#56 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest#69 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->callActionMethod#157 // call_user_func_array#286 // HanspeterLutz\Budget\Controller\KontoController->createAction# // HanspeterLutz\Budget\Domain\Repository\KontoRepository->add#101 // HanspeterLutz\Budget\Domain\Repository\CommonRepository->persistAll#51 // TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager->persistAll#50 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->commit#157 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->persistObjects#306 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->insertObject#331 // TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->addRow#649 // TYPO3\CMS\Core\Database\DatabaseConnection->exec_INSERTquery#130 // TYPO3\CMS\Core\Database\DatabaseConnection->debug#218
Weiss jemand, wie man mit extbase Datensätze in Tabellen mit Fremdschlüsselbeziehungen speichert?
LG Hanspeter
Meine Google-Suche hat nichts ergeben.
Meine Umgebung TYPO3 6.2.13.
Ich habe eine Datenbanktabelle mit einer Fremdschlüssel-Beziehung auf eine andere Tabelle. Wenn ich über die Repository-Klasse einen neuen Datensatz in dieser Tabelle erzeugen will, gibt extbase einen Fehler aus.
Beim Debuggen habe ich herausgefunden, dass extbase zuerst einen Datensatz erzeugen will, der nur ein paar Standardfelder, wie z.B. pid, crdate, tstamp, usw. enthält, und erst in einem zweiten Anlauf dann die Benutzerdaten abspeichert. Das schlägt aber fehl, weil im ersten Anlauf der Fremdschlüssel fehlt.
Konkret:
Tabelle: tx_budget_domain_model_konto enthält einen Fremdschlüssel auf die Tabelle tx_budget_domain_model_konto_type und einen auf die Tabelle tx_budget_domain_model_bank.
Die Fehlermeldung: Cannot add or update a child row: a foreign key constraint fails (`budget`.`tx_budget_domain_model_konto`, CONSTRAINT `tx_budget_domain_model_konto_ibfk_1` FOREIGN KEY (`konto_type`) REFERENCES `tx_budget_domain_model_konto_type` (`uid`))
debug_backtrace: require(ypo3_src-6.2.13\typo3\sysext\cms\tslib\index_ts.php),ypo3_src-6.2.13\index.php#28 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript#232 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->recursivelyReplaceIntPlaceholdersInContent#3638 // TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController->INTincScript_process#3671 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->USER#3723 // TYPO3\CMS\Frontend\ContentObject\UserContentObject->render#862 // TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer->callUserFunction#41 // call_user_func_array#6634 // TYPO3\CMS\Extbase\Core\Bootstrap->run# // TYPO3\CMS\Extbase\Core\Bootstrap->handleRequest#184 // TYPO3\CMS\Extbase\Mvc\Web\FrontendRequestHandler->handleRequest#195 // TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch#56 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest#69 // TYPO3\CMS\Extbase\Mvc\Controller\ActionController->callActionMethod#157 // call_user_func_array#286 // HanspeterLutz\Budget\Controller\KontoController->createAction# // HanspeterLutz\Budget\Domain\Repository\KontoRepository->add#101 // HanspeterLutz\Budget\Domain\Repository\CommonRepository->persistAll#51 // TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager->persistAll#50 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->commit#157 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->persistObjects#306 // TYPO3\CMS\Extbase\Persistence\Generic\Backend->insertObject#331 // TYPO3\CMS\Extbase\Persistence\Generic\Storage\Typo3DbBackend->addRow#649 // TYPO3\CMS\Core\Database\DatabaseConnection->exec_INSERTquery#130 // TYPO3\CMS\Core\Database\DatabaseConnection->debug#218
Weiss jemand, wie man mit extbase Datensätze in Tabellen mit Fremdschlüsselbeziehungen speichert?
LG Hanspeter
Datensätze lassen sich mit Extbase nicht abspeichern in Tabellen mit Fremdschlüssel-Beziehung
Aucun commentaire:
Enregistrer un commentaire