MENU

[Laravel8][blade/loop変数]配列で何個目の配列か偶数行か奇数行かを確認する方法

Laravel8講座
目次

はじめに

この記事ではLaravelのテンプレートbladeで、
配列の要素が何個めか、偶数行か奇数行かなど配列の情報?を簡単に取ってこれる変数があるので紹介します。

loop変数

Viewで表(テーブル)を作る時に見やすくするために何個目の配列か、
偶数、奇数なのか確認、表示したいことありませんか?

例えば No.の数字は配列の要素を上から順に1,2,3と入れたい

No.Color
1
2

行が偶数奇数の時でデザイン変えたい

No.Color
1
2
3

こんな時にPHPで自力で書いて表示させることもできますが、
ViewにPHPのコードがごちゃごちゃは嫌だなあと思う人もいるはずです。そんな時に使えるのがLaravelのLoop変数

https://readouble.com/laravel/8.x/ja/blade.html#the-loop-variable

とりあえずテンプレートでデザイン整える時に必要な変数が揃ってそうです!

プロパティ説明お勧め用途
$loop->index現在のループのインデックス(初期値0)配列で何番目の要素を取り出したい時
$loop->iteration現在の繰り返し数(初期値1)表のデータの何番目か表示したい時
$loop->remaining繰り返しの残り数
$loop->count繰り返し中の配列の総アイテム数総データ件数を取り出したい時
$loop->firstループの最初の繰り返しか判定
$loop->lastループの最後の繰り返しか判定
$loop->evenこれは偶数回目の繰り返しか判定偶数回目であることを確認
$loop->oddこれは奇数回目の繰り返しか判定奇数回目であることを確認
$loop->depth現在のループのネストレベル
$loop->parentループがネストしている場合、親のループ変数
loop変数一覧

foreachの中でこんな感じで使えます♪

@foreach ($samples as $sample)
<tr>
<th>行数</th>
<th>{{$loop->iteration}}</th>
</tr>
@endforeach

Bladeのloop変数を使ったサンプル

この前Bootstrap入れたのでBootstrapも使ってみました。

奇数行目が赤、偶数が青になるようにしました。
行数をloop変数を使い表示しました。

見た目

LaravelのBladeのloop文サンプル

サンプルコード

<head>

<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>

<body>
<table class="table table-bordered">
<tr> 
<th>行番号</th>
<th>名前</th>
<th>年齢</th>
</tr>
@foreach ($tests as $test)
@if($loop->odd)
<tr class=table-danger>
@else 
<tr class=table-primary>
@endif
<td>{{$loop->iteration}}</td>
<td>{{$test->username}}</td>
<td>{{$test->age}}</td>
</tr>
@endforeach
</table>
</body>

関連記事

[Laravel8] blade if文を使った表示内容だし分け
よかったらシェアしてね!

この記事を書いた人

コメント

コメントする

目次
閉じる