Typo3 类型3 IRER 1:n删除子记录无效
我是打字新手,经验不多。我正在处理官方文件。TYPO3版本7.6 LTS 我已经创建了1:n关系。几乎一切正常,子项的保存和加载没有任何问题。不过,我对删除有问题。当我删除父实体时,它的子实体并没有被删除,这是一个真正的痛苦 以下是我删除的两个表的TCA配置: tx_myext_domain_model_项父表: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 [
<?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',