[英]TYPO3 9 LTS type casting error on mysql time field for TCA type input / dbType time saving empty field
我正在尝试在TYPO3 9 LTS中与MySQL 5.7.24一起使用的时间输入。
在ext_tables.sql
该字段的定义如下:
some_field time default NULL
在TCA中,该字段的定义如下:
'some_field' => [
'exclude' => 1,
'label' => 'Some field',
'config' => [
'type' => 'input',
'dbType' => 'time',
'eval' => 'time',
],
],
当在没有时间输入的情况下将记录保存在后端时(应该是可能的),我得到了错误:
These fields of record 1 in table "some_table" have not been saved correctly: some_field! The values might have changed due to type casting of the database.
查看数据库记录时, some_field
字段的值为00:00:00
(尽管db的默认值为NULL
)。
选择时间时,可以保存并打开记录而不会出现错误。
这是TYPO3中的错误,还是我该如何解决此问题?
这意味着您为ext_tables.sql中的值输入了错误的类型。 此外,TYPO3 v9具有renderTypes
。 尝试这样的事情:
ext_tables.sql
begin int(11) DEFAULT '0' NOT NULL
三氯乙酸
'begin' => [
'exclude' => true,
'label' => 'LLL:EXT:your_ext/Resources/Private/Language/locallang_db.xlf:tx_yourext_domain_model_modelname.begin',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 10,
'eval' => 'datetime',
'default' => time()
],
],
附加信息!
如果要在FrontEnd中显示时间,可以使用类似的方法
<f:format.date>{dateObject.begin}</f:format.date>
如果要修改外观,还可以使用format属性:
<f:format.date format="%d. %B %Y">{dateObject.begin}</f:format.date>
有关此内容的更多信息: TYPO3日期格式
该错误可以通过以下eval
来解决:
'eval' => 'time,null',
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.