在 Laravel 控制器中访问 JSON 数组

我目前对 Vue 组件发送到 Laravel 控制器的一些数据有点困惑。数据如下:


array:2 [

  0 => {#1246

    +"id": 1

    +"name": "Developer"

  }

  1 => {#1249

    +"id": 2

    +"name": "Ops Matrix Admin"

  }

]

例如,如果我想从中获取 thename或 theid作为对象,以便我可以通过 eloquent 来使用它。我该怎么做呢?


这就是我的控制器目前的样子。


  public function editUserPermissions(Request $request, $id) {

      foreach($request->all() as $key => $value) {

        $decode = json_decode($value);


        dd($decode);

    }

  }

当我这样做时,dd($request->all());我得到以下信息:


array:1 [

  "body" => "[{"id":1,"name":"Developer"},{"id":3,"name":"Ops Matrix User"}]"

]


一只名叫tom的猫
浏览 129回答 2
2回答

慕姐8265434

您需要循环遍历结果。结果是一个数组。更好的方法是使用 $request->getContent()但是使用你的代码public function editUserPermissions(Request $request, $id) {      foreach($request->all() as $key => $value) {        $decode = json_decode($value);        foreach($decode as $decoded) {            echo $decoded['id'];        }    }  }

慕无忌1623718

public function editUserPermissions(Request $request, $id) {      $bodys = $request->body;      foreach($bodys as $key => $body) {           //$key give current index of array            $body[$key]['id'] //this give id            $body[$key]['name'] //this give name       }  }
打开App,查看更多内容
随时随地看视频慕课网APP