Php Laravel更新请求方法不允许异常

Php Laravel更新请求方法不允许异常,php,laravel,Php,Laravel,我有一个名为CustomerController的类,它具有更新功能: namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; //use app\model\Customer; use Illuminate\Support\Facades\View; use App\model\Customer; class CustomerController exte

我有一个名为CustomerController的类,它具有更新功能:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
//use app\model\Customer;
use Illuminate\Support\Facades\View;
use App\model\Customer;

class CustomerController extends Controller
{
   public function getAllCustomer()
   {
       return Customer::get();
   }

public function addNewCustomer(Request $request)
{
    $validatedData = $request->validate([
        'Title' => 'required',
        'Name' => 'required|max:255',
        'Surname' => 'required|max:255',
        'Email' => 'required',
        'Phone' => 'required',
        'Password' => 'required',
        'dateofBirth' => 'required'
    ]);

    return \app\model\Customer::create($request->all());
}


public function update (Request $request , Customer $id)
{
    $id->update($request->all());
}
这是路线:

Route::put('Customer/{id}' , 'CustomerController@update');
但是目前我得到了一个MethodNotAllowedException,我找不到任何解决方案。 截图: 多谢各位

路线确实存在:

更新时,因此使用PUT方法,您的表单中必须有一个隐藏的输入,如下所示:

<input type="hidden" name="_method" value="PUT">

因此,在使用PUT方法进行更新时,表单中必须有一个隐藏的输入,如下所示:

<input type="hidden" name="_method" value="PUT">

使用put和patch更改布线方法

出现此错误的主要原因是表单提交方法与路由方法不同

Route::match(['put', 'patch'], '/Customer/{id}','CustomerController@update');

使用put和patch更改布线方法

出现此错误的主要原因是表单提交方法与路由方法不同

Route::match(['put', 'patch'], '/Customer/{id}','CustomerController@update');

您是否尝试过
php artisan路由:list
以查看该路由是否可用?(缓存!!!)。或者
php artisan route:cache
清除并缓存路由@Kerbholz是的,它确实存在,添加了一个屏幕快照您是否尝试
php artisan route:list
查看该路线是否可用?(缓存!!!)。或者
php artisan route:cache
清除并缓存路由@Kerbholz是的,它确实存在,添加了一个屏幕快照或在你的刀片中使用
{{{method_field('PUT')}}
。哦,我从来不知道,非常感谢。用你的信用卡把它加到我的答案上了。顺便说一句,没问题,它是
PUT
,而不是
DELETE
;)您的URI是客户的大写C,这与您的URI没有任何关系,因为您的其他路径都没有遵循这一点?谢谢,我没有看到这一点,现在邮递员告诉我页面已因不活动而过期(错误419)。或者在刀片中使用
{{method_field('PUT')}
。哦,我从来不知道,非常感谢。用你的信用卡把它加到我的答案上了。顺便说一句,没问题,它是
PUT
,而不是
DELETE
;)您的URI是客户的大写字母C,这与此无关吗?谢谢,我没有看到,现在邮递员告诉我,页面由于不活动而过期(错误419)。