2016-11-10 49 views
0

我在從foreach循環顯示數據時遇到問題。我的數據庫有超過400個大拇指,但laravel無法正常工作,而且我的頁腳模板也沒有顯示。我將把我的代碼放在下面。刀片模板中的foreach無法正常工作

@foreach($thumbs as $thumb) 
    {{$thumb['name']}} 
    {{$thumb['desc']}} 
    {{$thumb['place']}} 
@endforeach 

myfooter code goes here. 

從我的控制器

$data['thumbs'] = thumb::all(); 
return View('tubetour/home',$data); 

,但是當我試圖的var_dump或我的控制器 上返回大拇指的價值它會顯示我所有400多個數據。

$data['thumbs'] = thumb::all(); 
return $data['thumbs']; 

回答

0

如果Thumb是雄辯的模式,那麼Thumb::all()將返回雄辯的集合,而不是一個數組。在這種情況下,您必須更新您的刀片模板,如下所示:

@foreach($thumbs as $thumb) 
    {{ $thumb->name }} 
    {{ $thumb->desc }} 
    {{ $thumb->place }} 
@endforeach 

希望這可以解決您的問題。

UPDATE

傳遞$thumbs作爲一個數組並顯示爲表。

更新您的控制器是這樣的:

$data['thumbs'] = thumb::all()->toArray(); 
return View('tubetour/home', $data); 

而且你的看法是這樣,看看如何顯示的行數。

<table> 
    <thead> 
     <tr>Id</tr> 
     <tr>Name</tr> 
     <td>Desc</td> 
     <td>Place</td> 
    </thead> 
    <tbody> 
     @for ($i = 0; $i < count($thumbs); $i++) 
      <tr> 
       <td>{{ $i }}</td> 
       <td>{{ $thumbs[$i]['name'] }}</td> 
       <td>{{ $thumbs[$i]['desc'] }}</td> 
       <td>{{ $thumbs[$i]['place'] }}</td> 
      </tr> 
     @endfor 
    </tbody> 
</table> 

UPDATE 2

與引導格柵葉片模板例如:

<div class="row"> 
    @for ($i = 0; $i < count($thumbs); $i++) 
     <div class="col-md-4"> 
      <img src="img/sample.jpg"> 
      <h3>{{ $thumbs[$i]['name'] }}</h3> 
      {{ $thumbs[$i]['desc'] }} 
     </div> 
    @endfor 
</div> 
+0

試過這也不過沒有運氣。它只顯示50或60或隨機數字的拇指,但不顯示正確的400 +拇指 – xerwudjohn

+0

即時通訊想知道這是否是在laravel blade模板上的foreach問題? – xerwudjohn

+0

中刀片的模板,添加: '

合計:{{COUNT($拇指)}}

' ,看看有多少記錄被傳遞給視圖。顯示的總數是多少? –

0

您必須通過一個關聯數組作爲第二個參數view功能:

// Controller 
$thumbs = Thumb::all(); 
return \View::make('tubetour.home', ['thumbs' => $thumbs]); 

// View 
@foreach($thumbs as $thumb) 
    {{ $thumb->name }} 
    {{ $thumb->desc }} 
    {{ $thumb->place }} 
@endforeach 

編輯:如果你正在使用lar AVEL 4,你將需要使用View::make()

+0

我試過你在這裏發佈的內容。但仍然沒有運氣。我不顯示所有400多個拇指。林懷疑這是否是一個laravel問題? – xerwudjohn

0

試試這個

@foreach($data as $thumb) 
    {{$thumb['name']}} 
    {{$thumb['desc']}} 
    {{$thumb['place']}} 
@endforeach 
0

更新您的控制器

$data = Thumb::all(); 
return View::make('tubetour/home')->with("thumbs",$data) 
            ->render(); 

然後用這個你的觀點:

@foreach($thumbs as $thumb) 
    {{$thumb['name']}} 
    {{$thumb['desc']}} 
    {{$thumb['place']}} 
@endforeach 
+1

你的代碼實際上和他在幕後一模一樣,這不會真的改變任何東西 – killstreet