Laravel Blade模板出现意外'endif'语法错误如何解决
问题原因
你使用的@forelse Blade 指令存在语法缺失:该指令要求必须搭配@empty分支使用,用于定义$wallets为空集合时要渲染的内容。你只写了@forelse和@endforelse,缺少了中间的@empty部分,导致Blade编译模板时标签对应关系错乱,才会抛出意料之外的endif语法错误。
修复方案
你可以选择两种方案修复:
方案1:补全@forelse要求的@empty分支
@forelse($wallets as $wallet) <td>{{ $wallet->title }}</td> <td>{{ $wallet->name }}</td> <td> @if(($wallet->is_active)==1) Active @else Deactive @endif </td> <td> @if(($wallet->is_cachable)==1) Cachable @else Un Cachable @endif </td> @empty {{-- 自定义无数据时的展示内容 --}} <td colspan="4">暂无钱包数据</td> @endforelse
方案2:替换为不需要空分支的@foreach指令
如果你不需要处理数据为空的场景,直接用普通的@foreach即可:
@foreach($wallets as $wallet) <td>{{ $wallet->title }}</td> <td>{{ $wallet->name }}</td> <td> @if(($wallet->is_active)==1) Active @else Deactive @endif </td> <td> @if(($wallet->is_cachable)==1) Cachable @else Un Cachable @endif </td> @endforeach
内容的提问来源于stack exchange,提问作者user16333885
相关产品推荐
相关产品推荐

