刀片模板中的foreach无法正常工作

时间:2016-11-10 23:28:18

标签: php laravel laravel-4

我在从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'];

4 个答案:

答案 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
相关问题