如何在foreach叶片laravel上访问prev或next数组

时间:2017-05-22 14:30:26

标签: laravel blade

我目前正在开发一个刀片视图,它将从Controller循环一个数组。

我只是创建一个包含方面,详细信息,当前状态和备注的表。所以,我想在我的刀片视图中使用循环(使用foreach),然后在我的数组中,将存在方面在下一行中具有相同值的条件。

对于表格示例:

Aspects     | Detail Aspects | Current Status | Remark
Curriculum  |       1        |      Good      |  Good
Curriculum  |       2        |      Good      |  Good
Curriculum  |       3        |      Good      |  Good
Teaching    |       4        |      Good      |  Good

因此,对于该表,我想检查if prev.Aspect == current.Aspect,因此我不需要再次打印它,或者我可以使用rowpan。

我已在foreach上使用$ index,但我只能将其打印为数字,而不是访问我的Obj[index]值。

这是我的刀片代码:

<table border='1'>
        <tr align='center' class='header'><td>Aspects</td><td>Details</td><td>Current Status</td><td>Remark</td></tr>
        @foreach($prAspect as $index => $data)
            <tr>
                <td>{{$data->praDesc}}</td>
                <td>{{$data->prsDesc}}</td>
                <td>{{$data->currentStatus}}</td>
                <td>{{$data->remark}}</td>
            </tr>
        @endforeach
</table>

3 个答案:

答案 0 :(得分:0)

您可以改为使用for循环:

@for ($i = 0; $i < count($prAspect); $i++)
    // use $i as index
    // use $prAspect[$i]
@endfor

答案 1 :(得分:0)

获取数据时,将->toArray()添加到查询构建器。在这种情况下,这将有助于您将目的作为数组访问,以便于比较。

<table border='1'>
    <tr align='center' class='header'><td>Aspects</td><td>Details</td><td>Current Status</td><td>Remark</td></tr>
    @foreach($prAspect as $index => $data)
        <tr>
            <td>{{$data['praDesc']}}</td>
            <td>{{$data['prsDesc']}}</td>
            <td>{{$data['currentStatus']}}</td>
            <td>{{$data['remark']}}</td>
        </tr>
    @endforeach
</table>

答案 2 :(得分:0)

尝试一下可能会帮助

@foreach($prAspect as $index => $data)
     <tr>
        <td>{{!$loop->first ? $prAspect[$index- 1]->praDesc : $data->praDesc}}</td>
        <td>{{!$loop->first ? $prAspect[$index - 1]->prsDesc : $data->prsDesc }}</td>
        <td>{{!$loop->first ? $prAspect[$index- 1]->currentStatus : $data->currentStatus }}</td>
        <td>{{!$loop->first ? $prAspect[$index- 1]->remark : $data->remark }}</td>        
   </tr>     
@endforeach