0

我的 Extbase 模型和 ObjectStorage 的使用存在问题。我在数据库中有一个对象,其中不包含任何与会者。在通过 编辑和保存对象时$repository->update($object);,我收到以下错误:

Return value of TheCodingOwl\OwlCal\Domain\Model\Event::getAttendees() must be an instance of TYPO3\CMS\Extbase\Persistence\ObjectStorage, null returned

但是,我在构造函数中初始化了参加者属性。下图显示了 getter 调用中的代码和 xdebug 中断: 在此处输入图像描述

怎么回事,参加者属性是null,而不应该有任何方法将此属性设置为空值?

4

1 回答 1

0

问题是你的getter返回一个空值而不是一个ObjectStorage,你应该改变方法签名——像这样:

class Event extend AbstractEntity {
    protected $attendees = null;

    public function getAttendees(): ?ObjectStorage
    {
        return $this->attendees;
    }
}

但我猜这个问题似乎更多地是关于为什么与会者是空的。要回答这个问题,我们需要更多信息:查看 getter、构造函数和类。

于 2021-11-22T16:37:36.863 回答