2014-09-18 1 views
4

나는 laravel에 @forelse를 사용하려고했지만 그것은 나에게은 Laravel 4.2.4에서 forelse 제거입니까?

Undefined variable: data 

이 laravel 4.2.4에서 제거 @forelse입니다이 오류를 준다? 그것이 내가 사용하고있는 버전이기 때문입니다. 이것은 내 컨트롤러

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

답변

4

내가 @forelse 주위 Laravel 3. 이후이 잘못 될 수있다 생각하지 않습니다 내보기

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

에 내 코드

입니다. 나는 그것이 어떤 점에서 삭제되었다라는 것을 알고있다. 표준 @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 

UPDATE

으로는 다시 주어졌다 안토니오 지적하고 당신이 그것을 원하는 경우 업데이트해야합니다, 그래서 v4.2.7 +에서 사용할 수 있습니다.

+0

오케이. 흠. 왜냐하면 laravel 문서를 탐색 할 때 목록에 forelse가 있기 때문입니다. 대단히 감사합니다 – user3779015

+3

Forelse가 7 월에 다시 방문되었습니다 : https://github.com/laravel/framework/blame/4.2/src/Illuminate/View/Compilers/BladeCompiler.php#L446 –

+1

'forelse' 그리고 사용 가능한 버전을 포함시킬 수 있습니다. –

2

나는 똑같은 것을 발견했다. Laravel 5의 Laracast 비디오에 언급되어 있습니다. 카운트 기능이있는 if else를 사용하는 것이 더 나은 방법이라고 설명한 직후에도 불구하고 :

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

팁 주셔서 감사합니다! – user3779015