【问题标题】:Laravel 4 passing parameters to Controller from Form in ViewLaravel 4从视图中的表单向控制器传递参数
【发布时间】:2013-06-29 17:20:55
【问题描述】:

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

我想通过 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 方法。

【问题讨论】:

    标签: forms view parameters controller laravel


    【解决方案1】:

    在你的视野中,你真的很亲密:

    {{ 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 的值。

    【讨论】:

    • 非常感谢您的回答,不幸的是它不起作用,我收到以下错误消息:CouplesController::postCreate() 缺少参数 1
    • 我认为您可能想要删除特定于 CouplesController 的所有路由并使用 Laravel 提供的 RESTful Controller routing,所以唯一的路由是:Route::controller('couples', 'CouplesController');
    • 好的,我现在这样做了,但仍然收到错误:缺少 CouplesController::postCreated() 的参数 1
    • 拜托,在这方面仍然需要帮助。也许我必须不通过 Input::get('var1'); 来获取它?
    • 进行此更改:public function postCreate($var1 = "test") 看看它是否消除了错误。如果是这样,那么您的视图中可能有错误,它没有正确地将变量附加到表单操作。检查表单页面的来源,确保它与我在答案中发布的 HTML 相似。
    【解决方案2】:

    我刚刚看到有这个路由时出现了缺少参数的错误:

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

    当我采取这条路线时,它给了我这个错误:

    未知操作 [CouplesController@postCreate]。

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

    :(

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 2016-05-11
      • 2014-04-04
      相关资源
      最近更新 更多