Blade 模板
阿新 • • 發佈:2018-11-10
在Laravel 5.3中,@foreach
指令提供了更加強大的功能,在每一個@foreach
迴圈體中都可以呼叫一個新的$loop
變數。該變數是一個stdClass
例項,包含了當前迴圈的元資料資訊,讓我們來看一下它提供的屬性:
- index:從1開始的迴圈索引,1意味著是第一個條目。
- remaining:迴圈還有多少個條目,比如當前是3箇中的第一個,那麼會返回2;
- count:迴圈總條目數
- first:是否是第一個
- last:是否是最後一個
- depth:迴圈的層級
- parent:如果迴圈位於另一個@foreach中,返回父迴圈引用,否則返回null
下面是一段示例程式碼:
<ul> @foreach ($pages as $page) <li>{{ $page->title }} ({{ $loop->index }} / {{ $loop->count }})</li> @endforeach </ul>
如果有巢狀迴圈,可以使用depth
判斷,並且通過$loop
的parent
屬性獲取相應資訊:
<ul> @foreach ($pages as $page) <li>{{ $loop->index }}: {{ $page->title }} @if ($page->hasChildren()) <ul> @foreach ($page->children() as $child) <li>{{ $loop->parent->index }}.{{ $loop->index }}: {{ $child->title }}</li> @endforeach </ul> @endif </li> @endforeach </ul>
就是這樣簡單、方便。