如何将 Laravel 中的 each 用作递归?

How to use each in Laravel as recurse?

我有一些 objects 比如:

array:8 [▼
  "_id" => MongoId {#261 ▶}
  "name" => "Objects"
  "default" => "900"
  "visibility" => "1"
  "type" => "2"
  "only_numbers" => null
  "value" => array:2 [▼
    0 => "59222778470e6c8e0b3c988a"
    1 => "59222880470e6cb90e3c9897"
  ]
  "available" => "1"
]

我试着在页面上显示这个:

{{$field["name"]}} {{$field["value"]}}

但在 value 中存在具有相同结构的嵌套 objects 上的键。

所以,我需要展示这些孩子。

如何在 blade Laravel 中使用 each operator

我试过了:

@each('field.objects', $field["value"], 'nested')

其中模板是:

<div class="fields-list row">
    {{dd($v)}}
    @foreach($field["value"] as $k => $v)
        <div class="col-md-4">{{$v['name']}}</div>
        <div class="col-md-8">
            {{Form::checkbox('field_object['.\App\Helpers\Helper::getMongoIDString($v['_id']).']', $v["default"], array("class" => "form-control"))}}
        </div>
    @endforeach
</div>

如果您只期望对值进行一级递归,那么这是一个简单的 @if 检查:

@foreach($fields as $field)
    @if(is_array($field->value))
        @foreach($field->value as $key => $value)
            {{$value}} <br/>
        @endforeach
    @else
        {{$field->value}}
    @endif
@endforeach