TYPO3 Вызов неопределенного метода TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage :: getBeginn () - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть расширение TYPO3 с некоторыми пользовательскими функциями в хранилище. У меня в этой модели отношение 1: n (события являются родительскими, а даты - дочерними элементами).

Я пытался получить дату начала дочерних элементов с помощью

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

Но я получаю ошибку Msgstr "Вызвать неопределенный метод TYPO3 \ CMS \ Extbase \ Persistence \ ObjectStorage :: getBeginn ()". Как я могу инициализировать ObjectStorage в хранилище?

Спасибо, Мартин

1 Ответ

1 голос
/ 26 февраля 2020

Если я вас правильно понимаю, getBeginn - это функция в модели Date, и к каждому объекту Event может быть прикреплено несколько объектов Date.

Если предположить, что это правильно, то Функция getDates в объекте Event вернет коллекцию Date объектов, а не только один. В TYPO3 это делается с помощью ObjectStorage. Вы можете видеть (и использовать) это как массив, который (в данном случае) содержит Date объектов.

Так, например, вы можете сделать:

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