Ich bin dabei, eine vorhandene MySQL-Tabelle gemäß this zu übersetzen. In diesem Fall ich bin den Umgang mit menu_items und meine Tabellenstruktur sieht nun wie folgt aus:Implementieren eines Fallback beim Abrufen mehrsprachiger Daten
- menu_items
- id
- sort_position
- menu_item_translations
- menu_item_id
- Sprache ENUM ('n l‘,‚en‘)
- Label
- Tooltip
ich jetzt nach einer Möglichkeit, diese Tabellen in einer solchen Art und Weise zu verbinden, dass ich eine Sprache als Ausweich verwenden können während der Suche nach Aufzeichnungen eines anderen.
Die Standard-Abfrage würde wie folgt sein:
SELECT
*
FROM
menu_items mi
INNER JOIN menu_item_translations mit
ON mit.menu_item_id = mi.id
WHERE
mit.language = 'en';
Aber ich würde ‚nl‘ wie der Rückfall, falls ein englischer Menüpunkt nicht gefunden wurde zu sein. Ich bin nicht so scharf auf gespeicherte Prozeduren, aber ich kann sie verwenden, wenn ich muss.
Gibt es eine Möglichkeit, ein Fallback in dieser Abfrage zu implementieren, ohne zu viel Leistungsverlust oder Hässlichkeit?