Ответ Laravel JSON изменяет значение ключа ассоциативного массива - PullRequest
0 голосов
/ 07 апреля 2019

Я определил формат ответа для data, в котором Laravel должен вернуться в интерфейс с помощью следующего кода:

$result1=$spaceRole->pluck('role','space.id')->all();
$resultToReturn=[];
foreach($result1 as $key=>$value){
    $resultToReturn[$key]=array($value);
}
 return $resultToReturn;

И код дает мне следующий результат, как и ожидалось:

 [                       
   850 => [              
     "AUTHORS",          
   ],                    
   766 => [              
     "ADMINISTRATORS",   
   ],                    
   844 => [              
     "ADMINISTRATORS",   
   ],                    
   0 => [                
     "ADMINISTRATORS",   
   ],                    
 ] 

И я хотел бы сохранить тот же формат в моем json response. Но если данные возвращаются в JSON, формат изменяется следующим образом:

0: ["AUTHORS"]
1: ["ADMINISTRATORS"]
2: ["ADMINISTRATORS"]
3: ["ADMINISTRATORS"]

Теперь индексы 0,1,2,3. Куда пропал 850,844,0 and 766 Я хотел бы использовать их, а не эти индексы? Спасибо

Ответы [ 2 ]

0 голосов
/ 07 апреля 2019

Я наконец-то решил проблему. Решение проблемы с моим reponse типом объекта.

return (object)$resultToReturn;, чтобы сохранить мой формат

0 голосов
/ 07 апреля 2019

Попробуйте это:

$result1=$spaceRole->pluck('role','space.id')->all(); 
$resultToReturn=[]; foreach($result1 as $key=>$value){ 
    $resultToReturn[$key]=array($value); 
} 
return json_encode($resultToReturn);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...