Laravel 8 Blade:语法错误,文件意外结束,需要 elseif (T_ELSEIF) 或 else (T_ELSE) 或 endif (T_ENDIF)

问题描述

这个问题真的让我很头疼,所以如果我能得到任何帮助,我将不胜感激。 我不知道问题出在我的组件上,还是我忽略了一些非常小而简单的东西。

我正在尝试有条件地在我的页面显示一列,但出于某种原因,使用 @if @else @endif 不断抛出一个错误以达到意外结束。

theatre_id

我试图仅在 $isCsr 为 true 时才显示 Company 列。变量没有问题,也没有将其传递给视图。我可以在视图中渲染它,并且 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',['name' => 'Company','Status','Created','Requests','Progress']:[
        ['name' => 'Name','Progress'];
@endphp

    <x-table.table :headers="$headers">