[TYPO3-german] UNION SELECT und Zugriff auf MM-Tabelle
David Brünner
david.bruenner at t-online.de
Wed Jan 17 17:38:43 CET 2018
Dank Stephan Schuler habe ich es hinbekommen diese Tabelle (bzw. View)
[code]
CREATE VIEW tx_kkbaybw_domain_model_fesearch AS
SELECT
(uid + 100000) AS uid,
bezeichnung AS name,
'' AS vorname,
'' AS nachname,
concat(telefon_landvorwahl, ' ', telefon_ortsvorwahl, ' ', telefon_durchwahl) AS telefon,
concat(fax_landvorwahl, ' ', fax_ortsvorwahl, ' ', fax_durchwahl) AS fax,
'' AS email,
'' AS mobile,
'' AS sprechzeiten_nach_vereinbarung,
'' AS sprechzeiten_sonderzeiten,
oeffnungszeit_nach_vereinbarung AS oeffnungszeit_nach_vereinbarung,
oeffnungszeit_sonderzeiten AS oeffnungszeit_sonderzeiten,
concat(oeffnungszeit_mo_von_vormittags, ' - ', oeffnungszeit_mo_bis_vormittags) AS oeffnungszeit_mo_vormittags,
concat(oeffnungszeit_mo_von_nachmittags, ' - ', oeffnungszeit_mo_bis_nachmittags) AS oeffnungszeit_mo_nachmittags,
concat(oeffnungszeit_di_von_vormittags, ' - ', oeffnungszeit_di_bis_vormittags) AS oeffnungszeit_di_vormittags,
concat(oeffnungszeit_di_von_nachmittags, ' - ', oeffnungszeit_di_bis_nachmittags) AS oeffnungszeit_di_nachmittags,
concat(oeffnungszeit_mi_von_vormittags, ' -', oeffnungszeit_mi_bis_vormittags) AS oeffnungszeit_mi_vormittags,
concat(oeffnungszeit_mi_von_nachmittags, ' - ', oeffnungszeit_mi_bis_nachmittags) AS oeffnungszeit_mi_nachmittags,
concat(oeffnungszeit_do_von_vormittags, ' _ ', oeffnungszeit_do_bis_vormittags) AS oeffnungszeit_do_vormittags,
concat(oeffnungszeit_do_von_nachmittags, ' - ', oeffnungszeit_do_bis_nachmittags) AS oeffnungszeit_do_nachmittags,
concat(oeffnungszeit_fr_von_vormittags, ' - ', oeffnungszeit_fr_bis_vormittags) AS oeffnungszeit_fr_vormittags,
concat(oeffnungszeit_fr_von_nachmittags, ' - ', oeffnungszeit_fr_bis_nachmittags) AS oeffnungszeit_fr_nachmittags,
'gebaeude' AS typ,
'' AS gebaeude,
'' AS behoerde
FROM tx_kkbaybw_domain_model_gebaeude
UNION ALL
SELECT
uid AS uid,
concat(vorname, ' ', nachname) AS name,
vorname AS vorname,
nachname AS nachname,
concat(telefon_landvorwahl, ' ', telefon_ortsvorwahl, ' ', telefon_durchwahl) AS telefon,
concat(fax_landvorwahl, ' ', fax_ortsvorwahl, ' ', fax_durchwahl) AS fax,
concat(mobil_landvorwahl, ' ', mobil_ortsvorwahl, ' ', mobil_durchwahl) AS mobile,
email AS email,
sprechzeiten_nach_vereinbarung AS sprechzeiten_nach_vereinbarung,
sprechzeiten_sonderzeiten AS sprechzeiten_sonderzeiten,
'' AS oeffnungszeit_nach_vereinbarung,
'' AS oeffnungszeit_sonderzeiten,
'' AS oeffnungszeit_mo_vormittags,
'' AS oeffnungszeit_mo_nachmittags,
'' AS oeffnungszeit_di_vormittags,
'' AS oeffnungszeit_di_nachmittags,
'' AS oeffnungszeit_mi_vormittags,
'' AS oeffnungszeit_mi_nachmittags,
'' AS oeffnungszeit_do_vormittags,
'' AS oeffnungszeit_do_nachmittags,
'' AS oeffnungszeit_fr_vormittags,
'' AS oeffnungszeit_fr_nachmittags,
'ansprechpartner' AS typ,
gebaeude_id AS gebaeude,
ansprechpartner_behoerde AS behoerde
FROM tx_kkbaybw_domain_model_ansprechpartner;
[/code]
Mit einem Model abzufragen.
Aber leider kommen die Gebäude (tx_kkbaybw_domain_model_fesearch.gebaeude) und die Behörden (tx_kkbaybw_domain_model_fesearch.ansprechpartner_behoerde) nicht raus.
Ich habe rausgefunden, dass das an der Manipulation der UID liegt. Ändere ich in der MM-Tabelle (tx_kkbaybw_ansprechpartner_behoerde_mm - bzw. tx_kkbaybw_ansprechparter_gebaeude_mm) die localUid von zb. 12 auf 200012 dann funktionierts.
Habe die Doku zur TCA mal durchforstet und es mal mit
[code]
..
'gebaeude' => [
'exclude' => false,
'label' => 'gebaeude',
'config' => [
'type' => 'select',
'foreign_table' => 'tx_kkbaybw_domain_model_gebaeude',
'MM' => 'tx_kkbaybw_ansprechpartner_gebaeude_mm',
'MM_table_where' => 'OR local_uid = 200012' /* hier sollte die Manipulation der UID berücksichtigt werden */
],
],
..
[/code]
probiert.
Aber leider ohne Erfolg.
Da ich nur auf der rechten Seite des UNION (also nur das wo das SELECT über gebaeude geht) brauche, habe ich es so gelöst, dass ich dort auf die Manipulation der UID (das +200000) verzichte. Aber das ist nur eine Notlösung.
Kann jemand helfen?
More information about the TYPO3-german
mailing list