Laravel 4.1,白色空白屏幕使用Eloquent时

时间:2015-06-04 18:39:03

标签: php laravel-4

我是新手使用Laravel&需要帮助。当我想要使用雄辩时,为什么我的网页浏览器中会出现白色空白屏幕。下面的代码(对不起,很长的帖子,我想说清楚):

UserController.php(控制器)

<?php
class UserController extends \BaseController {

/**
 * Display a listing of the resource.
 *
 * @return Response
 */
public function index() //GET
{
    //
    $users = User::all();
    //$users->toarray();
    return View::make('users.index', compact('users'));
}

/**
 * Show the form for creating a new resource.
 *
 * @return Response
 */
public function create()//GET
{
    //

}

/**
 * Store a newly created resource in storage.
 *
 * @return Response
 */
public function store()//POST
{
    //
}

/**
 * Display the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function show($id)//GET
{
    //
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  int  $id
 * @return Response
 */
public function edit($id)//GET
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  int  $id
 * @return Response
 */
public function update($id)//PUT
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  int  $id
 * @return Response
 */
public function destroy($id)//DELETE
{
    //
}

}

user.php的(模型)

<?php

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

class User extends Eloquent implements UserInterface, RemindableInterface {

/**
 * The database table used by the model.
 *
 * @var string
 */
protected $table = 'users';

/**
 * The attributes excluded from the model's JSON form.
 *
 * @var array
 */
protected $hidden = array('password');

/**
 * Get the unique identifier for the user.
 *
 * @return mixed
 */

public function getRememberToken()
{
    return $this->remember_token;
}

public function setRememberToken($value)
{
    $this->remember_token = $value;
}

public function getRememberTokenName()
{
    return 'remember_token';
}

public function getAuthIdentifier()
{
    return $this->getKey();
}

/**
 * Get the password for the user.
 *
 * @return string
 */
public function getAuthPassword()
{
    return $this->password;
}

/**
 * Get the e-mail address where password reminders are sent.
 *
 * @return string
 */
public function getReminderEmail()
{
    return $this->email;
}
}

Index.blade.php(查看)

@section('main')

<h1>All Users</h1>

<p>{{ link_to_route('users.create', 'Add new user') }}</p>

@if ($users->count())
<table class="table table-striped table-bordered">
    <thead>
    <tr>
    <th>Username</th>
    <th>Password</th>
    <th>Email</th>
    <th>Phone</th>
    <th>Name</th>
    </tr>
    </thead>

    <tbody>
        @foreach ($users as $user)
            <tr>
                <td>{{ $user->username }}</td>
      <td>{{ $user->password }}</td>
      <td>{{ $user->email }}</td>
      <td>{{ $user->phone }}</td>
      <td>{{ $user->name }}</td>
                <td>{{ link_to_route('users.edit', 'Edit',
     array($user->id), array('class' => 'btn btn-info')) }}</td>
                <td>
      {{ Form::open(array('method' 
      => 'DELETE', 'route' => array('users.destroy', $user->id))) }}                       
                        {{ Form::submit('Delete', array('class'
      => 'btn btn-danger')) }}
                    {{ Form::close() }}
                </td>
            </tr>
        @endforeach

    </tbody>

</table>
@else
There are no users
@endif

@stop

1 个答案:

答案 0 :(得分:0)

当您定义部分时,您可以告诉刀片如何以及何时显示它们,您可以使用@stop@show@overwrite等结束指令来执行此操作。

@stop表示您定义一个部分供以后使用(意思是不显示),因此可以使用或稍后被另一个覆盖。要使用存储的部分,您可以使用@yield('sectionName')

因此,如果您在每个页面中都有一个通用布局,例如,像页脚一样,您可以通过替换某些部分继续重复使用@extends('view')

{{--this is layout.blade.php--}}

@yield('content')

<div>My awesome footer</div>

你会像这样制作单独的观点:

{{--this is contact.blade.php--}}

@extends('layout')

@section('content')
  <div>Contact me: someMail@dem.mails</div>
@stop

@yield将负责“让步”(显示)您的部分。我们的想法是,您可以在不同时刻决定哪些部分包含哪里展示

如果您想@yield您刚定义的部分,该怎么办?这就是@show的用途。

Here是一个关于laravel的刀片模板的精彩在线书籍章节的链接,我发现它比官方文档更友好和深入。玩得开心,编码狂野。