Typo3:PersistenceManager persistAll() 在将对象添加到存储库后创建空数据库记录



>我正在尝试保护数据库中的对象,因此我正在使用PersistenceManager类。

在调用persistAll()之前,我要向我的存储库添加一个对象。

$newChecklist = TYPO3CMSCoreUtilityGeneralUtility::makeInstance('foo\bar\Domain\Model\Checklist');
$newChecklist->setNameDE('de');
$newChecklist->setNameEN('en');
$newChecklist->setAuthor('someGuy');
//DebuggerUtility::var_dump($newChecklist); //returns object with correct attribute values
$this->checklistRepository->add($newChecklist);

之后,我像这样使用持久性管理器:

$persistenceManager = TYPO3CMSCoreUtilityGeneralUtility::makeInstance('TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
$persistenceManager->persistAll();

但此代码仅生成空数据库记录。

我在语法中找不到任何错误。我的文件名都设置正确,模型=>清单,存储库=>清单存储库, 控制器=>清单控制器

有人知道如何解决这个问题吗?

提前致谢

这段代码在我的 BE 模块中工作:

class MyController extends TYPO3CMSExtbaseMvcControllerActionController
{
/**
* myRepository
*
* @var VENDORExtensionDomainRepositoryAddressRepository
* @inject
*/
protected $addressRepository = null;
function import() {
$persistenceManager = $this->objectManager->get("TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager");
...
$record = GeneralUtility::makeInstance('VENDOR\Extension\Domain\Model\Address');
$record->setTitle('The Title');
$record->setPid(123);
...
$this->myRepository->add($record);
$persistenceManager->persistAll();
...
}
}

最新更新