Laravel 4从View in Form中将参数传递给Controller

时间:2013-06-29 17:20:56

标签: forms view parameters controller laravel

我想通过单击视图文件中的按钮将数据保存到数据库中。

我想通过POST调用控制器中的方法来实现这一点。 它工作但我必须将一些变量/参数(没有输入字段)传递给控制器​​,但这不起作用。

这是我的控制者:

class CouplesController extends BaseController {
public function postCreate($var1)
{

    Couple::create(array(
        'name'=>'test',
        'id1'=>$var1
    ));

    return Redirect::to('couples')
        ->with('message','Your couple was created successfully!');

}
}

这是我的观点:

{{ Form::open(array('action' => 'CouplesController@postCreate', $var1->'hello')) }}

<p>{{ Form::submit('Create') }}</p>

{{ Form::close() }}

可能我这样做完全错了。我只是不知道该怎么做。

顺便说一下,它不一定是POST方法。

2 个答案:

答案 0 :(得分:0)

你真的很亲近,在你看来:

{{ Form::open(array('action' => 'CouplesController@postCreate', 'hello')) }}

<p>{{ Form::submit('Create') }}</p>

{{ Form::close() }}

这将生成类似于:

的URL
<form method="POST" action="http://localhost/couples/create/hello" accept-charset="UTF-8">

然后,其他代码应该可以正常运行,并且$var1应设置为hello的值。

答案 1 :(得分:0)

我刚看到在使用此路线时出现缺少参数的错误:

Route::post('couples/done', 'CouplesController@postCreate');

当我走出这条路线时,它给了我这个错误:

  

未知动作[Cou​​plesController @ postCreate]。

就像它无法访问视图本身中的控制器一样。

:(