Laravel を 5.2 から 5.3 にアップグレードしていますが、Blade ビューの 1 つが機能しなくなりました。含まれているビューに配列を渡してループします。ディレクティブを使用してforelse
いますが、Undefined offset: 1 エラーが発生し続けます。
ビュー呼び出しを含むコントローラーのスニペットは次のとおりです。
$transactions = $committees->transactions()
->where('FiledDate', '<=', $to) // Upper date
->where('FiledDate', '>=', $from) // Lower date
->get();
return view('committees.show',
[
'data' => $data,
'transactions' => $transactions,
]);
ここにブレードファイルがあります。
<table class="table table-striped">
<thead>
<tr><th class="text-center" colspan="5">Transactions</th></tr>
<tr>
<th class="text-center">TranId</th>
<th class="text-center">Tran Date</th>
<th class="text-center">SubType</th>
<th class="text-center">Filed Date</th>
<th class="text-center">Amount</th>
</tr>
</thead>
<tbody>
@forelse ($transactions AS $transaction)
<tr>
<td class="text-center">{{ $transaction->TranId }}</td>
<td class="text-center">{{ $transaction->TranDate }}</td>
<td class="text-center">{{ $transaction->SubType }}</td>
<td class="text-center">{{ $transaction->FiledDate }}</td>
<td class="text-center">{{ number_format($transaction->Amount, 2, '.', ',') }}</td>
</tr>
@empty
<tr><td colspan="5">No Transactions</td></tr>
@endforelse
</tbody>
ダミーのトランザクション配列を作成しましたが、それでも同じエラーが発生します。
また、foreach
ディレクティブを使用すると正常に動作しますが、レコードがないことを確認する追加のテストが必要です。