我有两个具有这种结构的表
categories
--------------------------------
id | create
1 | 2012-12-01 12:00:00
2 | 2012-12-01 12:00:00
category_i18ns
--------------------------------
category_id | lang | title
1 | en | home page
1 | de | HomE PAGEa
1 | fa | خانه
2 | en | about
一些类别具有所有语言数据,而另一些类别具有所有语言数据。例如类别 id 2 刚刚en
翻译了标题。我想要一个查询,首先检查当前语言以获取检索标题,然后如果不存在则显示另一个。
我有一个查询来使用 i18n 数据获取当前类别数据,在这个当前示例de
中是默认语言。对于类别 ID 1
,我们有de
标题,但对于类别2
我们没有。所以我想要英文版作为类别的标题
SELECT * FROM `mhf_swe_ndzhmju3_test`.`categories` AS `Category`
LEFT JOIN `mhf_swe_ndzhmju3_test`.`category_i18ns` AS `CategoryLocale` ON (
`CategoryLocale`.`category_id` = `Category`.`id`
AND `CategoryLocale`.`lang` = 'de')
对“de”语言的渴望
Category.id CategoryLocale.title CategoryLocale.lang
1 HomE PAGEa de
2 about en