Ergebnis 1 bis 15 von 15

Thema: Translated Tags - Column 'att_id' in where clause is ambiguous

  1. #1
    Contao-Nutzer
    Registriert seit
    10.12.2013.
    Beiträge
    8

    Standard Translated Tags - Column 'att_id' in where clause is ambiguous

    Hallo,

    ich habe ein mehrsprachiges Metamodel angelegt. Das dabei verwendete "translated tags" (mehrfachauswahl) habe ich wie in der Anleitung beschrieben angelegt. Es funktioniert auch alles: Anlegen im Backend und Ausgabe im Frontend. Nur beim editieren bzw. neu anlegen einer "Metamodels Liste" im Artikel erhalten ich die unten aufgeführte Fehlermeldung. Es muss schon mal funktioniert haben, da ich eine Frontenausgabe habe: http://contao.p211230.webspaceconfig...rofisuche.html
    Mir gibt die Fehlermeldung aber keinen Hinweis wo ich etwas ändern muss. Ich hoffe auf euer Hilfe.

    Code:
    Fatal error: Uncaught exception Exception with message Query error: Column 'att_id' in where clause is ambiguous (SELECT COUNT(value_id) as mm_count, value_id AS item_id, tl_metamodel_translatedtext.item_id , mm_norika_sorten_icon.* FROM tl_metamodel_tag_relation RIGHT JOIN tl_metamodel_translatedtext ON(tl_metamodel_tag_relation.value_id=tl_metamodel_translatedtext.item_id) JOIN mm_norika_sorten_icon ON tl_metamodel_translatedtext.item_id=mm_norika_sorten_icon.id WHERE att_id='18' AND (tl_metamodel_translatedtext.att_id=3) GROUP BY value_id ORDER BY mm_norika_sorten_icon.sorting, tl_metamodel_translatedtext.item_id) thrown in …/system/libraries/Database.php on line 686
    #0 …/system/libraries/Database.php(633): Database_Statement->query()
    #1 …/system/modules/metamodelsattribute_translatedtags/MetaModelAttributeTranslatedTags.php(131): Database_Statement->execute('18')
    #2 …/system/modules/metamodelsattribute_translatedtags/MetaModelAttributeTranslatedTags.php(235): MetaModelAttributeTranslatedTags->getValueIds(NULL, true, NULL)
    #3 …/system/modules/metamodels/MetaModelFilterSettingSimpleLookup.php(167): MetaModelAttributeTranslatedTags->getFilterOptions(NULL, true)
    #4 …/system/modules/metamodels/MetaModelFilterSettings.php(173): MetaModelFilterSettingSimpleLookup->getParameterDCA()
    #5 …/system/modules/metamodels/TableContent.php(48): MetaModelFilterSettings->getParameterDCA()
    #6 …/system/drivers/DC_Table.php(200): TableContent->buildCustomFilter(Object(DC_Table))
    #7 …/system/modules/backend/Backend.php(226): DC_Table->__construct('tl_content')
    #8 …/contao/main.php(120): Backend->getBackendModule('article')
    #9 …/contao/main.php(230): Main->run()
    #10 {main}
    Danke
    Jan

  2. #2
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Vielleicht,vielleicht,vielleicht (ich hab' mir das nur kurz angeschaut) das hier:
    WHERE att_id='18'
    WHERE tl_metamodel_tag_relation.att_id=18

  3. #3
    Contao-Nutzer
    Registriert seit
    10.12.2013.
    Beiträge
    8

    Standard

    Und wo ändere ich das?

  4. #4
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Das hat meiner Meinung nicht MM erfunden, sondern jemand, der ein MM erstellt hat und sich mit SQL auskennt. Das befindet sich meiner Meinung nach in einem Filter als "Eigenes SQL".

  5. #5
    Contao-Nutzer
    Registriert seit
    10.12.2013.
    Beiträge
    8

    Standard

    Ich verstehe nicht was du mir damit sagen möchtest.

    Ich verwende nur die Standardelemente von MM.

  6. #6
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Mach mal ein Screenshot von deiner Konfiguration des Tagattributs. Klaus denkt da schon in die richtige Richtung

  7. #7
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Wieviel MM's hast Du in Deinem Projekt ?
    In einem der MM's benutzt Du zur Anzeige einen Filter, der als Filtereinstellung den Typ "Eigenes SQL" benutzt. Und da drin wurde eine Query eingegeben, die so aussieht:
    SELECT COUNT(value_id) as mm_count, value_id AS item_id, tl_metamodel_translatedtext.item_id , mm_norika_sorten_icon.* FROM tl_metamodel_tag_relation RIGHT JOIN tl_metamodel_translatedtext ON(tl_metamodel_tag_relation.value_id=tl_metamodel _translatedtext.item_id) JOIN mm_norika_sorten_icon ON tl_metamodel_translatedtext.item_id=mm_norika_sort en_icon.id WHERE att_id='18' AND (tl_metamodel_translatedtext.att_id=3) GROUP BY value_id ORDER BY mm_norika_sorten_icon.sorting, tl_metamodel_translatedtext.item_id
    Und in der ist eine "ambiguous clause".

  8. #8
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Nein das muss nicht zwangsläufig der Filter sein. Es würde auch schon zu dieser Fehlermeldung kommen wenn man in der Attributskonfiguration die falsche Syntax in der Verknüpfung der anderen Tabelle nutzt. Ich schaue mal wie das im Wiki dokumentiert ist.

  9. #9
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    http://de.contaowiki.org/MetaModels_...ahl_.28Tags.29

    Hier darf im Feld "SQL" z.B. nicht att_id=18 sondern tl_metamodel_tag_relation.att_id=18 stehen. Wenn da aber nichts eingetragen ist, dann müssen wir den Fehler im Attribut selbst suchen.

  10. #10
    Contao-Nutzer
    Registriert seit
    10.12.2013.
    Beiträge
    8

    Standard

    @KlausGrenoble
    Ich benutze nirgends die Filtereinstellung vom Typ "Eigenes SQL". Nur Mehrfachauswahl und Einfache Abfrage.
    insgesamt sind es 42 MMs. Eines davon ist die eigentlich Produktdatenbank die anderen sind für die Select Auswahlfelder. Zwei davon sind als Tag (Multiselect, Mehrfachauswahl) eingebunden.

    Screenshot
    screenshot-translated-tags.PNG

  11. #11
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Ich seh' schon. Nicht Du bist der Schuldige, sondern die arbeitende Bevölkerung (Entwickler).
    Im Wiki steht meine ich, daß man hier att_id=18 und nicht tl_metamodel_tag_relation.att_id=18 (wie es in der Einstellung von JanNeuhoff zu sehen ist) eintragen soll.
    Geändert von KlausGrenoble (16.01.2014 um 23:58 Uhr)

  12. #12
    Contao-Nutzer
    Registriert seit
    10.12.2013.
    Beiträge
    8

    Standard

    Ich verwende nicht tl_metamodel_tag_relation.att_id=18 sondern tl_metamodel_translatedtext.att_id=3
    Das habe ich irgendwo hier im Forum oder im Wiki gelesen. Ich finde leider die Seite nicht wieder. (Im Forum kann man nicht nach tl_metamodel_translatedtext suchen. Der Begriff ist zu lang!?)

    tl_metamodel_translatedtext.att_id=3 wird aus der Attribut Einstellung auch übernommen und steht in der Where Bedingung der SQL Fehlermeldung.
    Die att_id=18 steht tatsächlich nur in der Tabelle tl_metamodel_tag_relation.
    Trage ich aber tl_metamodel_tag_relation.att_id=18 im SQL Feld der Attribut Einstellungen ein, kann ich die Änderung nicht mehr abspeichern.
    Fehlermeldung:

    Code:
    Error Processing Request: addError
    Gruß
    Jan

  13. #13
    Contao-Nutzer
    Registriert seit
    28.07.2009.
    Ort
    Eisenach
    Beiträge
    137

    HTML

    Hallo Jan,

    Du muss diese Datei modifiziren, überall wo du att_id findest noch tl_metamodel_tag_relation. hinzufügen. (sind mehrere Stellen )
    Ergebniss: tl_metamodel_tag_relation.att_id = ....

    system/modules/metamodelsattribute_translatedtags/MetaModels/Attribute/TranslatedTags/TranslatedTags.php

    In den Feldereinstellungen (SQL Feld) bitte auch die Tabelle mit rein nehmen nicht nur Spalte.
    (tl_metamodel_translatedtext.att_id=deineID)
    Dann klappt es.
    Vielleicht kann das jemand bei Gitgub posten.

  14. #14
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Zitat Zitat von bruc13 Beitrag anzeigen
    Hallo Jan,

    Du muss diese Datei modifiziren, überall wo du att_id findest noch tl_metamodel_tag_relation. hinzufügen. (sind mehrere Stellen )
    Ergebniss: tl_metamodel_tag_relation.att_id = ....

    system/modules/metamodelsattribute_translatedtags/MetaModels/Attribute/TranslatedTags/TranslatedTags.php

    In den Feldereinstellungen (SQL Feld) bitte auch die Tabelle mit rein nehmen nicht nur Spalte.
    (tl_metamodel_translatedtext.att_id=deineID)
    Dann klappt es.
    Vielleicht kann das jemand bei Gitgub posten.
    Existiert dazu ein Ticket auf Github?

  15. #15
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    https://github.com/MetaModels/attrib...dtags/issues/6
    sollte in allen branches gefixt sein.

    Dank an MacKP welcher mich auf diesen Thread aufmerksam gemacht hat.
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •