Как изменить имя поля в результате сбора на Laravel - PullRequest
0 голосов
/ 27 мая 2019

Я работаю в коллекции 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 ]

2 голосов
/ 27 мая 2019

Это должно работать так, как вы ожидаете:

$labdetails =LabDetailCustom::where('labcode',$request->labcode)
    ->get(['id as codename','name']);
1 голос
/ 27 мая 2019

Вы можете использовать AS MySQL запрос здесь.

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

$labdetails->codename;
$labdetails->name;
0 голосов
/ 27 мая 2019

вы можете использовать что-то вроде этого.

foreach( $labdetails as $index => $labdetail) {
        $labdetails [$index]['codename'] = $labdetail['id'];
        unset($labdetails[$index]['id']);
    } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...