表单 - 从控制器传递数组到视图 - PHP - Laravel
问题描述:
我真的很陌生,并且我不确定自己在做什么。我的主要观点有一个表格。我将输入传递给控制器,并且我希望数据在另一个视图中显示。我似乎无法从控制器到第二个视图的数组。我一直得到500 hphp_invoke。这是我将数组从控制器传递到view2的地方。表单 - 从控制器传递数组到视图 - PHP - Laravel
public function formSubmit()
{
if (Input::post())
{
$name = Input::get('name');
$age = Input::get('age');
$things = array($name, $age);
return View::make('view2', array('things'=>$things));
}
}
view1.blade.php
{{ Form::open(array('action' => '[email protected]')) }}
<p>{{ Form::label('Name') }}
{{ $name = Form::text('name') }}</p>
<p>{{ Form::label('Age') }}
{{ $age = Form::text('age') }}</p>
<p>{{ Form::submit('Submit') }}</p>
{{ Form::close() }}
我view2.php文件是非常简单的。
<?php
echo $name;
echo $age;
?>
然后在routes.php文件
Route::get('/', function()
{
return View::make('view1');
});
Route::post('view2', '[email protected]');
为什么不是这方面的工作?
答
您需要使用:
return View::make('view2')->with(['name' => $name, 'age' => $age]);
在模板中使用
$name
和$age
答
尝试有()
$data = array(
'name' => $name,
'age' => $age
);
return View::make('view2')->with($data);
的观点得到: - echo $ data ['name']; echo $ data ['age'];
或
return View::make('view2')->with(array('name' =>$name, 'age' => $age));
得到的观点: -
echo $name;
echo $age;
欲了解更多请here
答
由于$things
已经是一个array
所以您可以使用下面的方法,但是使数组关联:
$name = Input::get('name');
$age = Input::get('age');
$things = array('name' => $name, 'age' => $age);
return View::make('view2', $things);
因此,您可以在您的view
中访问$name
和$age
。此外,你可以试试这个:
return View::make('view2')->with('name', $name)->with('age', $age);
答
在你的控制器,使用
return View::make('view2')->with($things);
在您看来,您现在可以访问使用
@foreach($things as $thing)
<p>{{ $thing->name }}</p>
<p>{{ $thing->age }}</p>
@endforeach
感谢您的帮助每个属性。这似乎并没有工作。这可能是我拥有的路线吗?它的Route :: post('view2','controller @ formSubmit');那是错的吗? – porcupine92 2014-10-08 07:32:54
我添加了更多我的代码。没有什么我改变似乎工作。你看到我有什么不对吗? – porcupine92 2014-10-08 07:53:05