我学习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数据原始显示为数组。
我不确定我在这里做错了什么,这几乎是初学者教程中的代码。
答案 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
。