我在从foreach循环显示数据时遇到问题。我的数据库有400多个拇指,但是laravel没有正常工作,我的页脚模板也没有显示。我将把我的代码放在下面。
@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或在控制器上返回thumb的值时 它会显示我所有的400多个数据。
$data['thumbs'] = thumb::all();
return $data['thumbs'];
答案 0 :(得分:0)
如果Thumb
是一个Eloquent模型,那么Thumb::all()
将返回一个Eloquent集合,而不是一个数组。在这种情况下,您必须更新刀片模板,如下所示:
@foreach($thumbs as $thumb)
{{ $thumb->name }}
{{ $thumb->desc }}
{{ $thumb->place }}
@endforeach
希望这可以解决您的问题。
<强>更新强>
将$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>
更新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>
答案 1 :(得分: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
编辑:如果您使用的是laravel 4,则需要使用View::make()
答案 2 :(得分:0)
试试这个
@foreach($data as $thumb)
{{$thumb['name']}}
{{$thumb['desc']}}
{{$thumb['place']}}
@endforeach
答案 3 :(得分:0)
更新您的控制器
$data = Thumb::all();
return View::make('tubetour/home')->with("thumbs",$data)
->render();
然后你的观点:
@foreach($thumbs as $thumb)
{{$thumb['name']}}
{{$thumb['desc']}}
{{$thumb['place']}}
@endforeach