表单 - 从控制器传递数组到视图 - PHP - Laravel

por*_*e92 3 php arrays controller view laravel

我是Laravel的新手,我不确定我知道自己在做什么.我在主视图中有一个表单.我将输入传递给控制器​​,我希望数据显示在另一个视图中.我似乎无法从控制器到第二个视图获取数组.我一直得到500 hphp_invoke.这是我将数组从控制器传递到view2的地方.

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));
    }
}
Run Code Online (Sandbox Code Playgroud)

view1.blade.php

{{ Form::open(array('action' => 'controller@formSubmit')) }}
    <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() }}
Run Code Online (Sandbox Code Playgroud)

我的view2.php文件非常简单.

<?php
    echo $name;
    echo $age;
?>
Run Code Online (Sandbox Code Playgroud)

然后在routes.php中

Route::get('/', function()
{
    return View::make('view1');
});
Route::post('view2', 'controller@formSubmit');
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?

Rak*_*rma 6

尝试用()

$data = array(
    'name'  => $name,
    'age' => $age
);

return View::make('view2')->with($data);
Run Code Online (Sandbox Code Playgroud)

在视图上得到: - echo $ data ['name']; echo $ data ['age'];

要么

return View::make('view2')->with(array('name' =>$name, 'age' => $age));
Run Code Online (Sandbox Code Playgroud)

继续观察: -

echo $name;
echo $age;
Run Code Online (Sandbox Code Playgroud)

更多关注此处