我应该如何转换国家代码


How should I convert country codes?

我根据ISO 3166 3位字母的国家代码存储带有国家代码的地址。如果我想显示未更新的格式,那么进行这种转换的最佳OO方法是什么?

这一切都归结为JOIN:您需要有一个以国家代码为主键的countries表,再加上一个name列,并将其连接到原始表上。这只是基本的数据库设计,与OOP无关。

另一种选择是进行两次查询,只有当您需要的国家不超过少数时,这才是可行的——否则,查询数量将激增。

然后它取决于你的ORM,你如何将其与OOP代码集成;您可能需要将联接的查询封装在视图中(这可能是一种很好的做法)。

创建一个名为countries的表,它将存储3个字母的代码(可以是主键),然后存储全名

所以表格结构可能看起来像这样:

short_name | full_name

或您可以创建一个数组,其中包含作为键的短名称和作为值的全名类似于:

$countries['USA'] = 'United States of America';
$countries['JPN'] = 'JAPAN';
....

然后使用这个数组查找全名,这个数组可以在include文件中,您可以很容易地重用它。

在数据库中包括国家及其完整标题和国家代码。

然后只需查询您的数据库。你可以设计一个对象来帮助你。