通过控制器的简单变量显示Laravel 4.2中的错误

时间:2015-09-24 00:18:38

标签: php laravel laravel-4

我试图通过控制器传递一个简单的$ name变量。

控制器文件:

if($validator->fails())
{
    $this->layout->content = View::make('admin.login' )->with('name',$name);
}

注意:

protected $layout = 'admin.layout.login_master';

$ layout是登录页面布局的类成员

查看文件:

@section('content')
<h1>Admin Login</h1>

                    {{ Form::open(array('url' => 'admin/login','method'=>'post')) }}
                    <div style="color:red">
                    {{ $name }}
                    </div>
                        <div id="row">
                       <div class="form-group">
                            {{ Form::label('username', 'Username') }}
                            {{ Form::text('username', '', array('class' => 'form-control')) }}
                        </div>
                        </div>

                        <div id="row">
                        <div class="form-group">
                            {{ Form::label('password') }}
                            {{ Form::password('password', array('class' => 'form-control')) }}
                        </div>
                        </div>

                        <div id="row">
                        <div class="form-group">
                            {{ Form::submit('Login',array('class'=>'btn btn-default')) }}

                        </div>
                        </div>

                    {{ Form::close() }}

@stop

它在日志文件中显示错误:

  

下一个异常'ErrorException',在C:\ xampp \ htdocs \ portfolio \中显示消息'未定义变量:名称(查看:C:\ xampp \ htdocs \ portfolio \ app \ views \ admin \ login.blade.php)'应用\存储\视图\ 94976abb04474489c25123342a2993a1:7
  堆栈跟踪:

并在浏览器中显示:

  

糟糕,看起来出了问题。

1 个答案:

答案 0 :(得分:0)

如果这不起作用,还有其他方法可以将变量从控制器传递到Laravel中的视图 如果您定义了$ name变量并且想要使用$ name访问视图,那么您可以尝试以下任何一种

$this->layout->content = View::make('admin.login' )->withName($name);
$this->layout->content = View::make('admin.login' )->with(compact('name'));
$this->layout->content = View::make('admin.login', array('name'=>$name) )