我使用TYPO3版本9.我正在尝试配置TCA selectMultipleSideBySide . 我想在没有外国表的情况下使用,我想传递自己的物品 . 它显示正确,但当我尝试添加更多1项时,我收到错误:
表“tx_scout24_domain_model_vehicle”中记录3的这些字段尚未正确保存:设备!由于数据库的类型转换,值可能已更改 .
这是因为TYPO3尝试将数据保存到主表,而不是mm表 . 我目前的TCA:
'equipment' => array(
'label' => 'LLL:EXT:scout24/Resources/Private/Language/locallang_db.xlf:equipment',
'config' => array(
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'items' => \Istar\Scout24\Service\FieldService::getFields('equipment'),
'MM' => 'tx_scout24_vehicle_equipment_mm',
),
),
1 回答
根据documentation,值以逗号分隔值的形式存储 . 无法使用MM关系表 . 要存储值,列必须是varchar类型 . 因为您可以存储一个值,所以列的类型似乎是一个int,可以毫无问题地存储 .
所以你必须这样做:
删除配置中的MM关系
将表列更改为varchar