【问题标题】:how to display nested data in table laravel如何在表格 laravel 中显示嵌套数据
【发布时间】:2022-01-11 16:28:38
【问题描述】:

我怎样才能得到右边绘制的结果

在控制器中

$programs = Program::with(['activities', 'activites.subactivities'])->get();

在刀片视图中

@foreach ($programs as $programKey => $program)
    @foreach ($program->activities as $activity)
        @foreach ($activity->subactivities->toArray() as $subactivity)
        <tr>
            <td>{{ $programKey + 1 }}</td>
            <td>{{ strtoupper($program->name) }}</td>
            <td>{{ $activity->name }}</td>
            <td>{{ $subactivity['name'] }}</td>
        </tr>
   @endforeach
  @endforeach
@endforeach

【问题讨论】:

  • 控制器中dd()programs 的结果是什么?
  • [ { "id": 1, "name": "Program 1", "user_id": 1, "activities": [ { "id": 14, "name": "xxxxxx", "program_id": 1, "user_id": 1, "subactivities": [ { "id": 1, "name": "subactivity 1", "activity_id": 14, "user_id": 1 }, { "id": 2, "name": "subactivity 2", "activity_id": 14, "user_id": 1 } ] } ] } ]
  • 您是否尝试过在查询中使用order by eloquent 根据程序组织您的对象? IE。 program 1 program 2 等?
  • 是的,但我得到了相同的结果
  • 根据我上面发的图片,我很困惑如何在刀片上设置它

标签: laravel html-table nested


【解决方案1】:

我会说保存在一个变量中,如果不同则显示

像这样:

@foreach ($programs as $programKey => $program)
 @php
    $newProgram = true;
 @endphp
  @foreach ($program->activities as $activityKey => $activity)
    @php
        $newActivity = true;
    @endphp
    @foreach ($activity->subactivities->toArray() as $subactivity)
        <tr>
            <td>
                @if($newProgram == true)
                    {{ $programKey + 1 }}
                @endif
            </td>
            <td>
                @if($newProgram == true)
                    {{ strtoupper($program->name) }}
                    @php
                        $newProgram = false;
                    @endphp
                @endif
            </td>
            <td>
                @if($newActivity == true)
                    {{ $activity->name }}
                    @php
                        $newActivity = false;
                    @endphp
                @endif
            </td>
            <td>
                {{ $subactivity['name'] }}
            </td>
        </tr>
    @endforeach
  @endforeach
@endforeach

【讨论】:

    猜你喜欢
    • 2016-10-02
    • 1970-01-01
    • 2021-01-20
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多