Php 数据库无法';t通过Laravel更新

Php 数据库无法';t通过Laravel更新,php,laravel,laravel-5,laravel-5.2,Php,Laravel,Laravel 5,Laravel 5.2,我想通过Laravel表单编辑我的数据库。editdo可以工作,但是当我想更新数据库时,它会显示以下错误 MethodNotAllowedHttpException在RouteCollection.php第219行: 这是我的控制器: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Course; class courseControl

我想通过Laravel表单编辑我的数据库。editdo可以工作,但是当我想更新数据库时,它会显示以下错误

MethodNotAllowedHttpException在RouteCollection.php第219行:

这是我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Course;

class courseController extends Controller
{
    public function index()
    {
        $alldata=Course::all();
        return  view('course.index',compact('alldata'));
    }


    public function create()
    {
        return view('course.create');
    }


    public function store(Request $request)
    {
        $input = $request->all();
        Course::create($input);
        return redirect('course');
    }   


    public function show($id)
    {
        //
    }


    public function edit($id)
    {
        $course=Course::findOrFail($id);
        return view('course.edit',compact('course'));
    }


    public function update(Request $request, $id)
    {
        $input = $request->all();
        $data=Course::findOrFail($id);
        $data->update($input);
        return redirect('course');
    }


    public function destroy($id)
    {
        $data=Course::findOrFail($id);
        $data->delete($input);
        return redirect('course');
    }

}

课程代码
课程名称
课程学分
更新
{!!Form::close()!!}
路线如下:

<?php

Route::resource('course','courseController');



Route::group(['middleware' => ['web']], function () {

});

尝试编辑时,需要根据此添加方法类型

指定不同的方法

您可以在表单中使用POST以外的其他方法。通过“方法” 您需要在数组参数中输入。有效方法为“get”、“put”, “补丁”、“发布”或“删除”

因此,在您的情况下,您需要将
'method'=>'patch'
添加到
表单::open..

因此,blade中的最终代码如下所示:

{!! Form::open([
    'method' => 'PATCH',
    'route' => ['course.update',$course->course_id],
    'class'=>'form-horizontal'
]) !!}

额外的
我可以看到您正在使用php标记,如
,我假设您知道在Laravel中您可以使用
{csrf_field()}
,这是相等的,但由于我对您的代码没有深入的了解,所以这就留给您了。

使用重定向;在控制器中,在下面的语句中使用App\Course;仍然显示相同的错误只是为了了解每件事情都在工作,只有当你尝试更新时,你才会得到错误?是的。在尝试更新时,我发现了错误
{!! Form::open([
    'method' => 'PATCH',
    'route' => ['course.update',$course->course_id],
    'class'=>'form-horizontal'
]) !!}