刀片 if(isset) 不工作 Laravel

2022-08-30 14:21:50

嗨,我正在尝试检查变量是否已设置或未使用刀片版本。但是原始的php正在工作,但刀片版本却没有。有什么帮助吗?

控制器:

public function viewRegistrationForm()
{
    $usersType = UsersType::all();
    return View::make('search')->with('usersType',$usersType);
}

视图:

{{ $usersType or '' }}

它显示错误:

未定义的变量: usersType (View: C:\xampp\htdocs\clubhub\app\views\search.blade.php)


答案 1

{{ $usersType or '' }}工作正常。这里的问题是你的前循环:

@foreach( $usersType as $type )
    <input type="checkbox" class='default-checkbox'> <span>{{ $type->type }}</span> &nbsp; 
@endforeach

我建议你把它放在一个:@if()

@if(isset($usersType))
    @foreach( $usersType as $type )
        <input type="checkbox" class='default-checkbox'> <span>{{ $type->type }}</span> &nbsp; 
    @endforeach
@endif

您也可以使用@forelse。简单易用。

@forelse ($users as $user)
   <li>{{ $user->name }}</li>
@empty
   <p>No users</p>
@endforelse

答案 2
@isset($usersType)
  // $usersType is defined and is not null...
@endisset

有关详细说明,请参阅文档

除了已经讨论过的条件指令之外,和 指令还可以用作其各自 PHP 函数的便捷快捷方式@isset@empty


推荐