Bug #18662

Storing data crashes somehow with MM tables

Added by Georg Ringer about 13 years ago. Updated almost 11 years ago.

Should have
Target version:
Start date:
Due date:
% Done:


Estimated time:
TYPO3 Version:
PHP Version:
Is Regression:
Sprint Focus:


Sorry guys but I think I have found some kind of blocker and I am pretty sure it is not an error in my code.

After trying to save the mm-inline-record, I get the error msg "these fields are not properly updated in database: (linkit) Probably value mismatch with fieldtype."

Everything works fine with 4.1.6 and also if I change just the tceform-file to an older one.

I attached a test extension. Just install it, create a record "local" and inside it a record "foreign".

I'm sorry if it is my fault
(issue imported from #M8191)


T3X_test-0_0_0-z-200804212107.t3x (14.7 KB) T3X_test-0_0_0-z-200804212107.t3x Administrator Admin, 2008-04-21 21:25
8191.diff (864 Bytes) 8191.diff Administrator Admin, 2009-10-29 13:25
8191_43trunk.diff (781 Bytes) 8191_43trunk.diff Administrator Admin, 2009-10-29 13:41
8191_44trunk.diff (1001 Bytes) 8191_44trunk.diff Administrator Admin, 2010-02-21 13:32
0008191_v3_4-3.patch (1.37 KB) 0008191_v3_4-3.patch Administrator Admin, 2010-02-27 15:56
0008191_v4_4-2.patch (1.37 KB) 0008191_v4_4-2.patch Administrator Admin, 2010-02-27 16:10

Updated by Oliver Hader about 13 years ago

The MM way is not the preferred way of storing information with IRRE - maybe I should mark this as deprecated in CoreAPI...
The m:n asymmetric/symmetric style, where a relationship record on the intermediate table is again in TYPO3 style (with uid, pid, etc.) is preferred here.

Concerning your test example:
  • tx_test_local.linkit is defined as INT in database
  • tx_test_local.linkit is defined as inline without foreign_field, this means that releated records will be stored to linkit as CSV, e.g. "1,2,3,4,5"
    -> mismatch INT vs. TEXT

Updated by Peter Kuehn over 11 years ago

@olly: I agree on that at least for new projects, but I think it would be great
to have the ability to completely switch an existing relation from
'config' => Array(
'type' => 'select',
'foreign_table' => 'person',
'MM' => 'association_person_mm',
to IRRE by simply changing the type to 'inline' without having to change
the structure and content of the database (which is often not possible
for various reasons).

patch is pending in corelist and was tested succesfull with georgs (thnx for that!) testing ext an my current project.



Updated by Franz Koch over 11 years ago

It'll be great if the patch would make it into the core. Reason is, that extbase is suggesting to use MM-tables for relations. So it's now either or?


Updated by Franz Koch over 11 years ago

I just added a patch for 4.4 trunk respecting the latest changes on MM handling. In order to not have to maintain the new and more complex MM code twice, my solution is to simply call checkValue_group_select_processDBdata, of which IRRE previously was part of.


Updated by Oliver Hader over 11 years ago

Committed to SVN
  • TYPO3_4-2 (rev. 7065)
  • TYPO3_4-3 (rev. 7066)
  • Trunk (rev. 7067)

Also available in: Atom PDF