Laravel JSON响应更改关联数组键的值

时间:2019-04-07 12:21:08

标签: laravel laravel-5

我为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,3850,844,0 and 766哪里去了?我想使用它们而不是索引? 谢谢

2 个答案:

答案 0 :(得分:0)

尝试一下:

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

答案 1 :(得分:0)

我终于解决了这个问题。解决方法是将reponse设置为对象类型。

return (object)$resultToReturn;保持我的格式