0

我正在尝试在 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 中的错误还是我该如何解决此问题?

4

2 回答 2

1

可以通过以下方式解决该错误eval

'eval' => 'time,null',
于 2019-08-22T08:49:20.853 回答
0

这意味着您为 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()
     ],
],

附加信息!

如果你想在前端显示时间,你可以使用类似的东西

<f:format.date>{dateObject.begin}</f:format.date>

如果你想修改它的外观,你也可以使用format属性:

<f:format.date format="%d. %B %Y">{dateObject.begin}</f:format.date>

更多相关信息:TYPO3 日期格式

于 2019-07-10T08:07:47.010 回答