在开发中,经常会遇到如果有数据那么展示数据表格,没有数据则输出一句话,比如:没查询到相关数据的需求。

不使用forelse循环的情况下,一般我们的代码会写成下面的方式:

@if($users->isNotEmpty())
  @foreach ($users as $user)
    <li>{{ $user->name}}</li>
  @endforeach
@else

    <p>No users</p>
@endif

forelse就是 Laravel 针对这种需求提供的一种语法糖,上面的代码改用forelse实现如下:

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

可以看到forelse实现代码更加简洁明了,因此推荐在有类似需求时,优先使用forelse循环。