저는 laravel과 협력 중이며 작은 API를 만들었습니다. keyBy()
에 문제가 있습니다. 나는이keyBy()는 키를 변경하지 않습니다. Laravel 5.5
"translate": [
0: {"id": 0, "lang": "az" },
1: {"id": 0, "lang": "ru" },
2: {"id": 0, "lang": "en" }
]
같은 응답을 얻을 그리고이 같은이 배열의 키를 변경하려면 :
"translate": [
"az": {"id": 0, "lang": "az" },
"en": {"id": 0, "lang": "ru" },
"ru": {"id": 0, "lang": "en" }
]
그 조각
foreach ($categories as $key => $row) {
if ($row) {
$row->translate = $row->translate->keyBy('lang');
}
}
로하지만 결과는 동일합니다. 배열 키는 변경되지 않습니다. 나는 이유를 모른다. 나는 단지 dd($row->translate)
이고 원하는 결과를 얻었지만 마지막 결과는 이전과 동일합니다. 감사!
새 배열 변수에'$ row-> translate-> keyBy ('lang');을 지정해야합니다. 당신은 새로운 어레이를 만들어야한다는 것을 의미합니다. 당신은 축 배열을 바꾸지 않을 것입니다. – GYaN
또한'as & $ row' 시도 할 수 있습니다 –
'as & $ row'을 사용할 때 아무 것도 바뀌지 않았습니다. – rufatZZ