Ich bin neu in TYPO3, ich habe nicht viel Erfahrung. Ich arbeite mit der offiziellen Dokumentation. TYPO3 Version 7.6 LTS.TYPO3 IRRE 1: n löschen untergeordnete Datensätze funktioniert nicht
Ich habe 1: n-Beziehung erstellt. Fast alles funktioniert gut, Kinderartikel werden problemlos gespeichert und geladen. Ich habe jedoch ein Problem mit dem Löschen. Wenn ich die Eltern-Entität lösche, werden ihre Kinder nicht entfernt, was ein echter Schmerz ist.
Hier ist meine TCA-Konfiguration für beide Tabellen (ich habe irrelevant Spalten entfernt):
tx_myext_domain_model_item
Elterntabelle:
<?php
$ll = 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:';
return [
'ctrl' => [
'title' => $ll . 'basket.item',
'label' => 'title',
'tstamp' => 'updated_at',
'crdate' => 'created_at',
'cruser_id' => 'user_id'
],
'interface' => [
'showRecordFieldList' => ''
],
'columns' => [
'pid' => [
'label' => $ll . 'pid',
'config' => [
'type' => 'passthrough',
]
],
// ...
'documents' => [
'label' => $ll . 'item.documents',
'config' => [
'readOnly' => 1,
'type' => 'inline',
'foreign_table' => 'tx_myext_domain_model_document',
'foreign_field' => 'item_id',
'behaviour' => [
'enableCascadingDelete' => 1,
]
],
]
]
];
tx_myext_domain_model_document
Kind Tabelle:
<?php
$ll = 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:';
return [
'ctrl' => [
'title' => $ll . 'document',
'label' => 'item_id',
'tstamp' => 'updated_at',
'crdate' => 'created_at',
],
'interface' => [
'showRecordFieldList' => ''
],
'columns' => [
'pid' => [
'label' => $ll . 'pid',
'config' => [
'type' => 'passthrough',
]
],
// ...
'item_id' => [
'label' => $ll . 'item.id',
'config' => [
'type' => 'input',
'size' => '10',
'eval' => 'int',
],
],
],
];
jemand eine Idee hat was mache ich falsch?
Vielen Dank für Hilfe im Voraus.
Die Sache ist, dass die Dokumente, um Elemente nur durch den Code hinzufügen. Ich kann sehen, dass das Feld 'Dokumente' aus dem übergeordneten Tabellenzähler sich korrekt verhält. Ich möchte nicht, dass dies über das Admin-Panel bearbeitbar ist. – Ventus
Wenn Sie extbase-Repositorys verwenden, um die Objekte in Ihrem Code zu löschen, müssen Sie @cascade remove zu den Eigenschaftendokumenten in Ihrem Objektmodell hinzufügen. Ist sie in der Dokumentation beschrieben: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/5-Domain/2-implementing-the-domain-model.html – Xippo
Ja! Danke @Xippo! Ich habe die '@ cascade' Annotation verpasst! Ich weiß nicht, wie ich es verpasst habe. Bitte aktualisieren Sie Ihre Frage mit diesem Vorschlag und ich werde es akzeptieren :) – Ventus