我是TYPO3的新手,我没有太多的经验。我正在处理官方文档。 TYPO3版本7.6 LTS。TYPO3 IRRE 1:n删除子记录不起作用
我创建了1:n关系。几乎一切正常,子项保存并加载没有任何问题。不过,我有删除问题。当我删除父母实体时,其子女不是删除,这是一个真正的痛苦。
下面是两个表我的TCA配置(我已删除无关列):
tx_myext_domain_model_item
父表:
<?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
子表:
<?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',
],
],
],
];
任何人有一个想法我做错了什么?
感谢您的帮助。
的事情是,只有通过代码添加文件的项目。我可以看到来自父表格计数器的“文档”字段表现正确。我不希望通过管理面板进行编辑。 – Ventus
如果您使用extbase repositorys删除代码中的对象,则需要将@cascade remove添加到项目模型中的属性文档。 在文档中描述了她: https://docs.typo3.org/typo3cms/ExtbaseFluidBook/5-Domain/2-implementing-the-domain-model.html – Xippo
是的!谢谢@Xippo!我错过了@ @ cascade'注释!我不知道我是如何错过它的。请用这个建议更新你的问题,我会接受它:) – Ventus