我使用通过 JSON 从另一个应用程序将文件导入 TYPO3。导入的文件保存在特定的存储中。相关记录在 sys_file 中创建。到目前为止,一切看起来都不错。现在我想将导入的文件添加到某个表中。为此,我根据 NewsImportService.php 使用新闻扩展 V8.5.2 的方法。有一个函数 hydraNewsRecord() 可以建立媒体(文件)关系。因此我使用以下代码:
$media = $objectManager->get(\Zhaw\ZhawContinuingEducation\Domain\Model\FileReference::class);
$media->setFileUid($file->getUid());
\\ add new file to field
$newCourse->addContactImage1($media);
...
\\ add to table course
$courseRepo->add($newCourse);
...
$persistenceManager->persistAll();
在测试期间我总是得到错误(由于持久性管理器):表'typo3_www.tx_zhawcontinuingeducation_domain_model_filereference'不存在
我还包含在域/模型 FileReference.php 下并添加到 setup.typoscript 中:
objects {
TYPO3\CMS\Extbase\Domain\Model\FileReference.className = Zhaw\ZhawContinuingEducation\Domain\Model\FileReference
}
persistence {
storagePid =
classes {
Zhaw\ZhawContinuingEducation\Domain\Model\FileReference {
mapping {
tableName = sys_file_reference
columns {
uid_local.mapOnProperty = originalFileIdentifier
}
}
}
}
}
表 tx_zhawcontinuingeducation_domain_model_filereference 不是必需的,因为它已经存在于核心中。有谁知道,我错过了什么?