Bug #18662
closed
Storing data crashes somehow with MM tables
Added by Georg Ringer over 16 years ago.
Updated over 14 years ago.
Description
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)
Files
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
@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
old-school
'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.
gRTz
pekue
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?
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.
Committed to SVN
- TYPO3_4-2 (rev. 7065)
- TYPO3_4-3 (rev. 7066)
- Trunk (rev. 7067)
Also available in: Atom
PDF