在laravel 4.2.4中删除了吗?

时间:2014-09-18 11:39:02

标签: laravel-4 blade

我试图在laravel中使用@forelse,但它给了我这个错误

 Undefined variable: data

从laravel 4.2.4删除@forelse?因为那是我正在使用的版本。这是我的代码

在我看来

@forelse ($result as $data)
  <tr><td> $data->name </td></tr>
@empty
  <tr><td>No name match</td></tr>
@endforelse

在我的控制器中

$result = User::find(1)->get();
return View::make('view')->with('result', $result);

2 个答案:

答案 0 :(得分:4)

我认为自从Laravel 3以来@forelse已经存在。我可能错了。我知道它在某些时候被删除了。您现在需要使用标准@if@foreach

@if (empty($result))
  <tr><td>No name match</td></tr>
@else
  @foreach ($result as $data)
    <tr><td> $data->name </td></tr>
  @endforeach
@endif

<强>更新

正如安东尼奥所指出的,它被带回来了,可以在 v4.2.7 + 中找到,所以如果你需要,你需要更新。

答案 1 :(得分:2)

我发现了同样的事情。在Laravel 5的laracast视频中提到了它。虽然在他解释说更好的做法是使用带有计数功能的if else之后:

@if (count($result))
  has result
@ifelse
  has no result
@endif