在Laravel刀片上显示嵌套的JSON格式

时间:2018-11-25 11:10:54

标签: php json laravel

JSON格式保存在MySql列中,如下所示:

[{"id":1},{"id":2},{"id":3,"children":[{"id":4},{"id":5}]}]

我在Laravel Blade中做到了;

@php
  $json = $categories->column;
  $array= json_decode($json , true);
@endphp

@foreach ($array as $key => $value)
  <li>{{ $value["id"] }}</li>
@endphp

我得到这样的结果;

  

  • 1
  •   
  • 2
  •   
  • 3
  • 但是我无法获得孩子的成绩。我该怎么办?感谢您的帮助。

    1 个答案:

    答案 0 :(得分:4)

    尝试此代码,如果存在子代,则应该为孩子提供另一个循环。

    @php
      $json = $categories->column;
      $array= json_decode($json , true);
    @endphp
    
    @foreach ($array as $key => $value)
      <li>{{ $value["id"] }}</li>
    
        //another loop for children if exists
        @if (isset($value["children"]))
            @foreach ($value["children"] as $child_key => $child_value)
              <li class="childs">{{ $child_value["id"] }}</li>
            @endforeach
        @endif
    
    @endforeach
    

    您的输出将是这个。

      

    1

         

    2

         

    3

         

    4

         

    5