Hallo zusammen,
ich habe noch einmal eine Frage zu "voneinander abhängigen Select-Feldern" im Backend, genauer: Zur richtigen Syntax bei der Datenbankabfrage.
Das eine Feld heißt "Berufsbezeichnung" und das andere heißt "Fachrichtung".
Zuerst wird die Berufsbezeichung ausgewählt und davon abhängig ein Select-Feld gezeigt, das entsprechende Fachrichtungen anbietet.
Hier der Teil des Codes aus der ext_tables.php zum besseren Verständnis:
'label' => 'Berufsbezeichnung', 'type' => 'select', ), 'foreign_table' => 'tx_stellenliste_domain_model_beruf', 'maxitems' => 1 ) ),
'label' => 'Fachrichtung', 'displayCond' => 'FIELD:berufsbezeichnung:!=:0', 'type' => 'select', ), 'foreign_table' => 'tx_stellenliste_domain_model_fachrichtung', 'foreign_table_where' => 'AND tx_stellenliste_domain_model_fachrichtung.klickweg LIKE %###REC_FIELD_berufsbezeichnung###%', 'maxitems' => 1 ) ),
Für jeden Eintrag wird einer Berufsbezeichnung genau eine Fachrichtung zugeordnet. Welche Fachrichtung in Frage kommt (und entsprechend im Select-Feld angezeigt wird), wird in der Tabelle "tx_stellenliste_domain_model_fachrichtung" als kommaseparierte Liste gespeichert (z.B. "1,2,3,4,5" ). Die Fachrichtungen können also jeweils einigen, aber nicht allen Berufsbezeichnungen zugeordnet werden.
Wie ist nun die richtige Syntax, um abzufragen, ob die Berufsbezeichnung in der Liste der Fachrichtungen auftaucht?
'foreign_table_where' => 'AND tx_stellenliste_domain_model_fachrichtung.klickweg LIKE %###REC_FIELD_berufsbezeichnung###%',
Wenn ich das richtig sehe, ist die Zusammensetzung %###REC_FIELD_berufsbezeichnung###% nicht korrekt. Es funktioniert ohne %, wenn nur ein Wert in dem abzufragenden Feld steht. Es funktioniert auch mit %, wenn eine statische Zahl statt einer Variable eingesetzt ist. Nur zusammen nicht.
Ich würde mich sehr freuen, wenn mir da jemand weiterhelfen könnte.