Laravel 8 Blade:语法错误,文件意外结束,需要 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)
Laravel 8 Blade: syntax error, unexpected end of file, expecting elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF)
这个问题真的让我很头疼,所以如果能得到任何帮助,我将不胜感激。
我不知道问题是出在我的组件上,还是我忽略了一些非常小而简单的东西。
我正在尝试有条件地在我的页面上显示一列,但出于某种原因,使用 @if @else @endif 会不断抛出意外结束错误。
@if ($isCsr)
<x-table.table :headers="[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
['name' => 'Company', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']"
>
@else
<x-table.table :headers="[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']"
>
@endif
@foreach($projects as $project)
<x-table.tr-a link="{{ route('project.show',$project->id) }}">
<x-table.td align="left">{{$project->name}}</x-table.td>
<x-table.td align="left">{{$project->user->name}}</x-table.td>
<x-table.td align="left">{{$project->company->name}}</x-table.td>
<x-table.td>
{{$project->status->name}}
</x-table.td>
<x-table.td>{{$project->created_at->format('M d, Y')}}</x-table.td>
<x-table.td>{{$project->requests->count()}}</x-table.td>
<x-table.td>
@if($project->requests->count() > 0)
{{number_format(($project->requestsClosed->count() / $project->requests->count()) * 100)}} %
@else
Not Started
@endif
</x-table.td>
</x-table.tr>
@endforeach
</x-table.table>
我试图仅在 $isCsr 为真时显示公司列。变量没有问题,也没有将其传递给视图。我可以在视图中呈现它并且 livewire 过滤器与变量完美配合。
但是一旦我添加了 if-else-endif,它就告诉我有一个意想不到的结束。我尝试过任意数量的 if-else 组合,甚至在原始 php 中尝试过。仍然没有运气。
文件前面没有其他 if 语句,文件后面有一个,但它已关闭并且没有问题。只有当我在文件中的这个位置添加 if-else-endif 时。
看起来 if else 导致 x 组件 $slot
.@endif
进入插槽。
所以你可以更好地做到这一点
@php
$headers=$isCsr?[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
['name' => 'Company', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']:[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress'];
@endphp
<x-table.table :headers="$headers">
这个问题真的让我很头疼,所以如果能得到任何帮助,我将不胜感激。 我不知道问题是出在我的组件上,还是我忽略了一些非常小而简单的东西。
我正在尝试有条件地在我的页面上显示一列,但出于某种原因,使用 @if @else @endif 会不断抛出意外结束错误。
@if ($isCsr)
<x-table.table :headers="[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
['name' => 'Company', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']"
>
@else
<x-table.table :headers="[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']"
>
@endif
@foreach($projects as $project)
<x-table.tr-a link="{{ route('project.show',$project->id) }}">
<x-table.td align="left">{{$project->name}}</x-table.td>
<x-table.td align="left">{{$project->user->name}}</x-table.td>
<x-table.td align="left">{{$project->company->name}}</x-table.td>
<x-table.td>
{{$project->status->name}}
</x-table.td>
<x-table.td>{{$project->created_at->format('M d, Y')}}</x-table.td>
<x-table.td>{{$project->requests->count()}}</x-table.td>
<x-table.td>
@if($project->requests->count() > 0)
{{number_format(($project->requestsClosed->count() / $project->requests->count()) * 100)}} %
@else
Not Started
@endif
</x-table.td>
</x-table.tr>
@endforeach
</x-table.table>
我试图仅在 $isCsr 为真时显示公司列。变量没有问题,也没有将其传递给视图。我可以在视图中呈现它并且 livewire 过滤器与变量完美配合。
但是一旦我添加了 if-else-endif,它就告诉我有一个意想不到的结束。我尝试过任意数量的 if-else 组合,甚至在原始 php 中尝试过。仍然没有运气。 文件前面没有其他 if 语句,文件后面有一个,但它已关闭并且没有问题。只有当我在文件中的这个位置添加 if-else-endif 时。
看起来 if else 导致 x 组件 $slot
.@endif
进入插槽。
所以你可以更好地做到这一点
@php
$headers=$isCsr?[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
['name' => 'Company', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress']:[
['name' => 'Name', 'align' => 'left'],
['name' => 'Owner', 'align' => 'left'],
'Status',
'Created',
'Requests',
'Progress'];
@endphp
<x-table.table :headers="$headers">