Project

General

Profile

Actions

Bug #81043

closed

TCA type select & MySQL-strict mode leads to exception

Added by Cihan Yesilöz almost 7 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Extbase
Start date:
2017-04-27
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
8
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

TCA of type "select" leads to an exception when used with MySQL-strict-mode "STRICT_TRANS_TABLES".

TCA-configuration:

        'status' => [
            'exclude' => 1,
            'label' => 'Status',
            'config' => array(
                'type' => 'select',
                'renderType' => 'selectSingle',
                'items' => (
                    array('Level-1', 1),
                    array('Status-2', 2),
                    array('Status-3', 3)
                ),
                'default' => 1,
            ),
        ],

PHP-Code:

<?php
        $newUser = new User();
        $newUser->setStatus(1);
        $userRepository = $this->objectManager->get(UserRepository::class);
        $userRepository->add($newUser);
        $persistenceManager = $this->objectManager->get(PersistenceManager::class);
        $persistenceManager->persistAll();
?>

The exception thrown by TYPO3:

#1470230766: Incorrect integer value: '' for column 'status' at row 1 (More information)

When I revert the change in "typo3/sysext/extbase/Classes/Persistence/Generic/Mapper/DataMapFactory.php" in Line 335 in Commit https://github.com/TYPO3/TYPO3.CMS/commit/38a1bc5dd7990b63e45c0419065cd02fe91187e9#diff-a8aa95385a4a9a2e39c52f857dbc0e28 the error disappears. The error also disappears when I disable the sql strict mode "STRICT_TRANS_TABLES"

Actions

Also available in: Atom PDF