Laravel 4未定义的方法照亮Http请求请求::post()


Laravel 4 Undefined Method Illuminate Http Request Request::post()

我有一个简单的html表单,正在路由文件中调用一个控制器,但在提交时我得到以下错误:

Symfony'Component'Debug'Exception'FatalErrorException thrown with message "Call to undefined method Illuminate'Http'Request::post()"
Stacktrace:
#1 Symfony'Component'Debug'Exception'FatalErrorException in /vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:205
#0 Illuminate'Exception'Handler:handleShutdown in <#unknown>:0

在这个特殊的网站上,我有很多表格,甚至更多的路线,除了这一个,其他的工作都有。我一次又一次地寻找一些打字错误或可能导致它失败的东西,但一无所获。

我的表格是:

<form class="form-horizontal" action="/warehouse/add_pallet" method="post" accept-charset="utf-8" role="form">
    <div class="row">
        <div class="col-xs-12">
            <div class="pm-well">   
                <h2>Scan Add Pallet</h2>
                <div class="form-group">
                    <label class="col-xs-12 col-sm-2" for="pallet_location">Location: </label>
                    <div class="col-xs-12 col-sm-8">
                        <input type="text" class="form-control" name="pallet_location" id="pallet_location">
                    </div>
                </div>
                <div class="form-group">
                    <label class="col-xs-12 col-sm-2" for="sku">sku: </label>
                    <div class="col-xs-12 col-sm-8">
                        <input type="text" class="form-control" name="sku" id="sku">
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="col-xs-12">
            <input type="submit" class="pm-btn pm-btn-confirmation medium-btn" value="Add Pallet">
        </div>
    </div>
</form>

在我的路线文件中,我有:

Route::post('warehouse/add_pallet', 'PalletController@insert');

作为一个控制测试,我只设置了一个直接的PHP(没有Laravel或任何PHP框架)测试站点,并复制了表单并更改了表单操作,简单地指向另一个PHP脚本,在那里我可以回显请求方法和发布数据,这正如预期的那样。

在这一点上我被难住了。这可能是个bug吗?我看到了很多关于Symfony的请求::[方法]不起作用的问题的其他帖子。

我猜您已经在控制器中调用了一个方法post()作为Request::post(。您应该使用Input::get()。Facade Input中的关键字get未绑定到$_get全局数组。因此,无论您是使用GET还是POST方法提交数据,都应该使用Input::GET('key')来检索它们。但是,为了确保您正在获取的数据是通过POST方法提交的,您可以使用代码周围的Request::method() == 'POST'Request::isMethod('post')