Typo3 类型3 IRER 1:n删除子记录无效

Typo3 类型3 IRER 1:n删除子记录无效,typo3,Typo3,我是打字新手,经验不多。我正在处理官方文件。TYPO3版本7.6 LTS 我已经创建了1:n关系。几乎一切正常,子项的保存和加载没有任何问题。不过,我对删除有问题。当我删除父实体时,它的子实体并没有被删除,这是一个真正的痛苦 以下是我删除的两个表的TCA配置: tx_myext_domain_model_项父表: <?php $ll = 'LLL:EXT:myext/Resources/Private/Language/locallang_db.xlf:'; return [

我是打字新手,经验不多。我正在处理官方文件。TYPO3版本7.6 LTS

我已经创建了1:n关系。几乎一切正常,子项的保存和加载没有任何问题。不过,我对删除有问题。当我删除父实体时,它的子实体并没有被删除,这是一个真正的痛苦

以下是我删除的两个表的TCA配置:

tx_myext_domain_model_项父表:


<?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,
                ]
            ],
        ]
    ]
];
有人知道我做错了什么吗


提前感谢您的帮助。

您正在告诉TCA查找关系的“项目id”字段

'foreign_field' => 'item_id',
但此字段用于项目的id。 在此字段中,typo3应存储来自父元素的uid。 尝试在passthrough上设置'item_id'字段,并创建一个新元素,如果在字段中ist存储了来自父级的uid,则检查DB。如果是这种情况,那么级联删除应该可以工作。 enableCascadingDelete默认为:

编辑: 如果在代码中执行这些操作,并使用extbase repository删除需要将@cascade remove添加到项目模型中的属性文档中的对象。在以下文档中进行了描述:


问题是,只有通过代码才能将文档添加到项目中。我可以看到父表计数器中的documents字段运行正常。我不希望通过管理面板对其进行编辑。如果使用extbase repositorys删除代码中的对象,则需要将@cascade remove添加到项目模型中的属性文档中。文件中描述了她:是的!谢谢@Xippo!我错过了@cascade注释!我不知道我怎么会错过它。请用此建议更新您的问题,我将接受:
'foreign_field' => 'item_id',