将变量从控制器传递到视图-Laravel [英] Passing variable from controller to view - Laravel
本文介绍了将变量从控制器传递到视图-Laravel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将变量从一个视图传递到控制器,再到另一个视图.我没有收到任何错误,但是当它到达最后一个视图时,它没有像预期的那样显示变量.在第一个视图中,我只是个名字.
I'm trying to pass a variable from one view to a controller to another view. I'm not getting any errors, but when it gets to the last view, it doesn't show the variable like it's supposed to. In the first view, I'm just getting a name.
{{ Form::open(array('route' => 'form', 'method'=>'post')) }}
{{ $name = Form::text('name') }}
{{ Form::submit('Go!') }}
{{ Form::close() }}
这是我的HomeController.php.
Here is my HomeController.php.
public function view1()
{
return View::make('stuff');
}
public function postView1($name)
{
return Redirect::route('view2')->with($name);
}
public function view2($name)
{
return View::make('view2')->with($name);
}
routes.php
routes.php
Route::get('/', array('as' => 'stuff', 'uses' => 'HomeController@stuff'));
Route::post('form/{name}', array('as' => 'form', 'uses'=>'HomeController@postView1'));
Route::get('view2/{name}', array('as' => 'view2', 'uses' => 'HomeController@view2'));
view2.blade.php
view2.blade.php
{{ $name = Input::get('name') }}
<p> Hello, {{ $name }} </p>
那为什么不显示呢?
推荐答案
首先,您应该将postView
函数更改为:
First you should change your postView
function into:
public function postView1()
{
return Redirect::route('view2', ['name' => Input::get('name')]);
}
您的路线:
Route::post('form/{name}', array('as' => 'form', 'uses'=>'HomeController@postView1'));
进入:
Route::post('form', array('as' => 'form', 'uses'=>'HomeController@postView1'));
现在,您应该将view2
函数更改为:
Now, you should change your view2
function into:
public function view2($name)
{
return View::make('view2')->with('name',$name);
}
现在在您的view2.blade.php
中,您应该可以使用:
Now in your view2.blade.php
you should be able to use:
<p> Hello, {{ $name }} </p>
这篇关于将变量从控制器传递到视图-Laravel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文