首页 > 解决方案 > TYPO3 调用未定义的方法 TYPO3\CMS\Extbase\Persistence\ObjectStorage::getBeginn()

问题描述

我在存储库中有一些自定义功能的 TYPO3 扩展。我在这个模型中有 1:n 关系(事件是父元素,日期是子元素)。

我试图获取子元素的开始日期

foreach($events as $key => $value) {
        echo $value->getDates()->getBeginn();
    }

但我收到错误“调用未定义的方法 TYPO3\CMS\Extbase\Persistence\ObjectStorage::getBeginn()”。如何初始化存储库中的 ObjectStorage?

谢谢马丁

标签: typo3repository

解决方案


如果我理解正确,getBeginnDate模型中的一个函数,每个对象都可以附加Event多个对象。Date

假设这是正确的,对象getDates中的函数Event将返回一组Date对象,而不仅仅是一个。在 TYPO3 中,这是使用ObjectStorage. Date您可以将其视为(并使用)它作为(在这种情况下)包含对象的数组。

因此,例如,您可以这样做:

foreach($events as $event) {
    foreach ($event->getDates() as $date) {
        echo date->getBeginn();
    }
}

推荐阅读