【发布时间】:2017-07-13 03:03:41
【问题描述】:
我正在寻找一种简单的方法来更改/标准化从 Eloquent 返回的键。在这一点上,我的应用程序和数据库已经很老了。我正在构建一组新的 API 来与数据交互,但更改数据库根本不是一种选择。作为替代方案,我只想在我的选择查询上映射字段名称。
获取当前返回的给定响应:
[
'companyrecordid': 1234,
'clientid': 2345,
'name': 'Some cool company',
'street_address': '1234 N. Nowhere'
]
期望的结果是:
[
'id': 1234,
'clientId': 2345,
'name': 'Some cool company',
'streetAddress': '1234 N. Nowhere'
]
在一个理想的世界里,如果这就像在我的模型中添加一个变量一样简单......就像这样:
protected static $keymap = [
'companyrecordid' => 'id',
'clientid' => 'clientId',
'street_address' => 'streetAddress',
];
如果不存在这样的东西,我不会反对自己写,我只是不想在没有理由的情况下重新发明轮子。
【问题讨论】:
-
我发现,或者更确切地说是针对分形,我现在正在玩它。对于理论上应该很简单的东西来说,它似乎很重。在 laravel 之前,我会这样做:'SELECT companyrecordid as id, clientid as clientId...'
-
好吧,如果您愿意,没有什么可以阻止您在雄辩的 select 子句中指定别名。
-
如果你使用的是 Laravel 5,有这个 Mappable,github.com/jarektkaczyk/eloquence/wiki/Mappable