【问题标题】:How to change field name in collection result on Laravel如何在 Laravel 上更改集合结果中的字段名称
【发布时间】:2019-05-27 03:46:15
【问题描述】:

我正在使用 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”。任何建议或指导将不胜感激,谢谢。

【问题讨论】:

    标签: laravel


    【解决方案1】:

    这应该可以如您所愿:

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

    【讨论】:

    • 亲爱的 Leonardo Rossi, 按预期工作。非常感谢。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      你可以使用这样的东西。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-19
        • 2017-01-15
        相关资源
        最近更新 更多