Php 数据库无法';t通过Laravel更新
我想通过Laravel表单编辑我的数据库。editdo可以工作,但是当我想更新数据库时,它会显示以下错误 MethodNotAllowedHttpException在RouteCollection.php第219行: 这是我的控制器: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
<?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'
]) !!}