如何在Laravel上的收集结果中更改字段名称

时间:2019-05-27 03:46:16

标签: laravel

我正在收集Laravel。我想更改一些雄辩的输出字段名称。下面是我的查询代码。

$labdetails =LabDetailCustom::where('labcode',$request->labcode)->get(['id','name']);

结果如下。

[
{
id: 65,
name: "Color"
},
{
id: 66,
name: "Apearance"
},
{
id: 67,
name: "Urobilinogen"
}
]

但是我需要将“ id”更改为“ codename”。所以结果应该是。

[
{
codename: 65,
name: "Color"
},
{
codename: 66,
name: "Apearance"
},
{
codename: 67,
name: "Urobilinogen"
}
]

可能需要使用我不熟悉的'map function'。任何建议或指导将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:2)

这应该可以按预期工作:

$labdetails =LabDetailCustom::where('labcode',$request->labcode)
    ->get(['id as codename','name']);

答案 1 :(得分:1)

您可以在此处使用AS MySQL查询。

$labdetails = LabDetailCustom::select('id AS codename', 'name')->where('labcode', $request->labcode)->get();

$labdetails->codename;
$labdetails->name;

答案 2 :(得分:0)

您可以使用类似这样的东西。

foreach( $labdetails as $index => $labdetail) {
        $labdetails [$index]['codename'] = $labdetail['id'];
        unset($labdetails[$index]['id']);
    }