Wie in hook_views_query_alter() einen join auf Tabelle url_alias durchführen?
Eingetragen von rhodes (630)
am 31.01.2023 - 19:39 Uhr in
am 31.01.2023 - 19:39 Uhr in
Hallo zusammen,
in Drupal 9 gibt es in einem custom module eine Funktion mymodule_views_query_alter(), worin ich die Query der View überschreiben will.
Insbesondere möchte ich einen Join auf die Tabelle "url_alias" machen, weil ich dann nach path Aliasen in der View filtern und sortieren kann. Das Problem dabei ist, dass in url_alias in der Spalte "source" nicht die node id steht, sondern "node/123".
$query->join('url_alias', 'u', 'n.nid = u.source');
klappt also nicht, aber etwas wie
$query->join('url_alias', 'u', '/node/n.nid = u.source');
ebenfalls nicht.
Ich bin mit meinem Latein gerade am Ende und freue mich über jeden Tipp.
VG rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Versuchs mal mit
am 04.02.2023 - 13:10 Uhr
Versuchs mal mit STRING_SPLIT()
https://www.essentialsql.com/how-to-do-an-impossible-join-with-string-sp...
Oder TRY_TO_NUMBER()
$query->join('url_alias', 'u', 'n.nid = TRY_TO_NUMBER(u.source)');
https://docs.snowflake.com/en/sql-reference/functions/try_to_decimal.html
Musste mal ausprobieren ....
Drupal rockt!!!