Search code examples
mysqltypo3typo3-9.xtypo3-tca

TYPO3 9 LTS type casting error on mysql time field for TCA type input / dbType time saving empty field


I'm trying to have a time input in TYPO3 9 LTS working together with MySQL 5.7.24.

In the ext_tables.sql the field gets defined like this:

some_field time default NULL

In the TCA the field gets defined like this:

  'some_field' => [
    'exclude' => 1,
    'label' => 'Some field',
    'config' => [
      'type' => 'input',
      'dbType' => 'time',
      'eval' => 'time',
    ],
  ],

When saving the record in the backend without a time input (which should be possible) I'm getting the error:

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.

When looking at the database record the some_field field gets the value 00:00:00 (although the db default is NULL).

When selecting a time the record can be saved and opened without error.

Is this a bug in TYPO3 or how could I fix this behavior?


Solution

  • The bug can be solved by having the following eval:

    'eval' => 'time,null',