Hallo alle zusammen,
ich habe eine Extension, die mehrere neue DB-Tabellen beinhaltet, die teilweise via m:m-Beziehungen (auch passend über die dazugehörigen Relationstabellen) miteinander verknüpft sind.
Bisher funktioniert alles schön, die Daten werden ausgegeben - bis ich vom Live-Workspace in z.B. den Draft-Workspace umschalte.
Dort hagelt es mir dann recht böse SQL-Fehler:
LastBuiltSQLQuery:
SELECT uid,pid,tstamp,crdate,cruser_id,t3ver_oid,t3ver_id,t3ver_wsid,t3ver_label,
t3ver_state,t3ver_stage,t3ver_count,t3ver_tstamp,t3_origuid,sys_language_uid,
l18n_parent,l18n_diffsource,deleted,hidden,starttime,endtime,fe_group,title,
dwh_stand,shorttitle,description,datasource,hirarchie,transformation,quality,
notes,contact,current_author,history,elements,uid_local,uid_foreign,
tablenames,sorting
FROM tx_bametadata_dimension_description
WHERE
pid=-1 AND
t3ver_oid=14 AND
t3ver_wsid=-1 AND tx_bametadata_dimension_description.deleted=0
Error: Unknown column 'uid_local' in 'field list'
Den Fehler kann ich soweit nachvollziehen, da die uid_local und uid_foreign (und tablenames) nicht in der eigentlichen Tabelle, sondern in der mm-Verknüpfungstabelle vorkommen.
Aber wieso wird an der Stelle der Query auf die Weise dargestellt?! Das zugehörige TS-Objekt sagt folgendes:
DIMENSIONS = CONTENT
DIMENSIONS {
select {
pidInList.field = dimension_pages
where = 1
andWhere = tx_bametadata_cube_dimensions_mm.uid_local = {field:uid}
andWhere.insertData = 1
join = tx_bametadata_cube_dimensions_mm ON (tx_bametadata_cube_dimensions_mm.uid_foreign = tx_bametadata_dimension_description.uid)
}
table = tx_bametadata_dimension_description
renderObj = < plugin.tx_bametadata_pi1.dimensionListCObject
}
Seltsamerweise werden die Daten zusätzlich zu den Fehlermeldungen, die das FE (noch bewusst) zupflastern, korrekt ausgegeben - und es gibt für das ausgegebene Objekt noch mehrere andere Datensatzverknüpfungen, die nach derselben Struktur aufgebaut sind (anderer Variablenname, andere Tabelle, rest gleich), die keine SQL-Fehler bauen.
Ich vermute, hier versucht TYPO3 aus dem DIMENSIONS-SQL-Request für den Draft-Workspace passende Änderungen vorzunehmen und verwirft dabei den Join mit der MM-Verknüpfungstabelle.
Aber warum passiert das nur bei der einen Verknüpfung?! Wieso werden die Werte trotzdem vernünftig dargestellt?!
Hat jemand nen Verdacht?!
Grüsse,
Wolfgang