我试图在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);
答案 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