我试图通过控制器传递一个简单的$ 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
堆栈跟踪:
并在浏览器中显示:
糟糕,看起来出了问题。
答案 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) )