模型更新时给出的laravel 4.2中的NotFoundHttpException

时间:2014-08-23 08:44:06

标签: laravel-4 blade

我在laravel 4.2中接受了这个错误。*

  

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

我正在更新记录。

//路由

Route::get('projects/edit/{slug}', array('as' => 'projects.edit', 'uses' => 'ProjectsController@edit'));
Route::put('projects/update?{slug}', array('as' => 'projects.update', 'uses' => 'ProjectsController@update'));

//控制器

public function update($slug){
    $pr = $this->project->whereSlug($slug)->first();
    $this->project->fill(Input::all());
    $this->project->save();
}

//表单

{{ Form::model($project, ['method' => 'PATCH', 'route' => ['projects.update', project->slug ],'files' => true]) }}
{{ Form::close() }}

//网址

pms2.dev/projects/update?slug

希望有人知道,为什么我要面对这个。

2 个答案:

答案 0 :(得分:0)

由于您的表单方法设置为PATCH,因此您的路由也应使用相同的动词定义。

Route::patch('projects/update?{slug}', array('as' => 'projects.update', 'uses' => 'ProjectsController@update'));

http://laravel.com/api/4.2/Illuminate/Routing/Router.html#method_patch

但是我认为POST是更合适的方法。

答案 1 :(得分:0)

尝试按照以下

替换您的路由
Route::patch('projects/update', array('as' => 'projects.update', 'uses' => 'ProjectsController@update'));