Tom*_*Tom 3 mysql translation symfony1 geolocation internationalization
我正在MySQL中构建一个城市名称表,大约有10K行作为Symfony i18n表.基本上,默认文化是en_US,表格中的每个城市最初都是这种文化.随着时间的推移,我想添加到表中只可能在不同的语言有一个替代名称的城市,如不必复制所有对每个城市的数据"伦敦(EN_US)/伦敦(es_ES)",单独表格中的语言.
现在,根据我的理解,如果不存在翻译,Symfony将不会自动选择后备默认城市名称.所以我需要制定一个解决方案来执行以下操作:
如果存在翻译,请选择它....如果不存在,请选择默认的en_US城市名称.
到目前为止我似乎应该使用COALESCE
.但是,由于我对它不是很熟悉,我想知道使用它是否有任何缺点?我问这个是因为我需要在每个城市查询中包含它,这是我网站上非常频繁的操作.
将不胜感激任何观点,甚至建议以更好的方式做事.谢谢.
尝试这样的事情:
$q = Doctrine_Query::create()
->from('Cities c')
->leftJoin('c.Translation ct WITH lang IN(?)', array(array('es_ES', 'en_US')))
->execute();
Run Code Online (Sandbox Code Playgroud)