需要更好的方法来映射数据库字段名称


need a better way to map database field names

我正在做一个项目,我们将表字段导出为XML文件供不同客户使用其中,表的列名将用作 XML 文件中的节点名称。

但几乎每个客户都希望有一个用户友好的节点名称。因此,我们必须使用关联数组将 Table 的列名与所需的节点名称映射。

喜欢

['fieldName 1'] = 'NodeName1'
['fieldName 2'] = 'NodeName2'
['fieldName 3'] = 'NodeName3'
....
....
['fieldName n'] = 'NodeNameN'

还有其他/更好的想法来映射它们吗?

谢谢

如果您有可读的列名(如my_column_name(,则可以将其转换为友好名称,如My column name

ucfirst(str_replace("_", " ", $columnName));

如果您需要特定名称(例如必须my_column_name Column of mine to use in categories(,则需要数组映射:

$map = [
    'my_column_name' => 'Column name of something',
    ...
];