Project

General

Profile

Actions

Bug #18662

closed

Storing data crashes somehow with MM tables

Added by Georg Ringer over 16 years ago. Updated over 14 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
-
Target version:
-
Start date:
2008-04-21
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.2
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

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

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
Actions #1

Updated by Oliver Hader over 16 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
Actions #2

Updated by Peter Kuehn about 15 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
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

Actions #3

Updated by Franz Koch almost 15 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?

Actions #4

Updated by Franz Koch over 14 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.

Actions #5

Updated by Oliver Hader over 14 years ago

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

Also available in: Atom PDF