Project

General

Profile

Bug #103604

Updated by Oliver Eglseder 7 months ago

A TCA select column with multiple=1 generates a PRIMARY KEY over the fields `uid_local` and `uid_foreign` of the MM table. 
 When multiple is active, i can select a record from `tx_tea_domain_model_coffee` multiple times. 
 When i save the record i get the exception `An exception occurred while executing a query: Duplicate entry '1-2' for key 'tx_tea_tea_coffee_mm.PRIMARY'` 

 TCA column: 
 <pre> 
 'test' => [ 
     'exclude' => 1, 
     'l10n_mode' => 'exclude', 
     'label' => 'test', 
     'config' => [ 
         'type' => 'select', 
         'renderType' => 'selectMultipleSideBySide', 
         'foreign_table' => 'tx_tea_domain_model_coffee', 
         'foreign_table_where' => 'AND tx_tea_domain_model_coffee.sys_language_uid IN (-1,0) Order by title ASC', 
         'MM' => 'tx_tea_tea_coffee_mm', 
         'size' => 10, 
         'autoSizeMax' => 30, 
         'maxitems' => 9999, 
         'multiple' => 1, 
     ], 
 ], 
 </pre> 

 Database Analyzer Output: 
 <pre> 
 CREATE TABLE tx_tea_tea_coffee_mm ( 
     uid_local (uid_local INT UNSIGNED DEFAULT 0 NOT NULL, 
     uid_foreign INT UNSIGNED DEFAULT 0 NOT NULL, 
     sorting INT UNSIGNED DEFAULT 0 NOT NULL, 
     sorting_foreign INT UNSIGNED DEFAULT 0 NOT NULL, 
     INDEX uid_local (uid_local), 
     INDEX uid_foreign (uid_foreign), 
     PRIMARY KEY(uid_local, uid_foreign) 
 ) uid_foreign)) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ENGINE = InnoDB 
 </pre> 

Back