我有一个奇怪的错误,然后我从 7.4 切换到 PHP 8.1。 这是 TYPO3 11.5.32 我有一个自定义分机,我需要在其中使用日期时间。 当我的数据库中有非 0 值时 - 一切都很好! 否则 - 我有一个错误: “当null时调用成员函数getStarttime()” 数据库中有 0 - 在 .sql 文件中
starttime int(11) DEFAULT '0' NOT NULL,
然后我调试这个对象,我有'NULL'
/**
* @var DateTime
*/
protected $starttime;
/**
* Get start time
*
* @return DateTime|null
*/
public function getStarttime(): ?DateTime
{
return $this->starttime;
}
/**
* Set start time
*
* @param DateTime $starttime end time
*/
public function setStarttime(DateTime $starttime): void
{
$this->starttime = $starttime;
}
在 TCA 中:
'starttime' => [
'exclude' => true,
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'eval' => 'datetime,int',
'default' => 0,
'behaviour' => [
'allowLanguageSynchronization' => true
]
],
],
我失去焦点是什么?
从模态中指定默认值。
/**
* @var ?DateTime
*/
protected $starttime = null;