Laravel Blade @foreach无法正常工作

时间:2014-06-14 23:52:09

标签: php laravel laravel-4

我学习Laravel 4,到目前为止一直很好。但是出于一些奇怪的原因,刀片的@foreach似乎并不适用于简单的查询。我的代码是:

路线:

Route::get('/users', function(){

    $users = User::all();

    return View::make('users/index')->with('users',$users);

});

现在在index.blade.php中我的代码是:

  @foreach ($users as $user)

        <p>User: {{ $user->username }}</p>

  @endforeach

奇怪的是,当我在视图中转储对象时,它确实有效:

{{ dd($users->toArray())}}

DB数据原始显示为数组。

我不确定我在这里做错了什么,这几乎是初学者教程中的代码。

1 个答案:

答案 0 :(得分:7)

你应该使用template/layout(但你没有根据view on Github使用),并且子视图应该扩展它,例如,你的index.blade.php视图应该是像这样的东西:

// index.blade.php
@extends('layouts.master')
@section('content')
    @foreach ($users as $user)
        <p>User: {{ $user->username }}</p>
    @endforeach
@stop

现在确保在您的app/views/layouts文件夹中,您有master.blade.php版面,其中包含以下内容:

// master.blade.php
<!doctype html>
<html class="no-js" lang="">
    <head>
        <style></style>
    </head>
    <body>
        <div class='content'>
            @yield('content') {{-- This will show the rendered view data --}}
        </div>
    </body>
</html>

同样dd($users->toArray())有效,因为它使用$user->toArray()转储var_dump并使用die函数退出脚本,dd表示dump and die