2016-07-27 85 views
0

我试图在控制器中使用自动生成的update方法更新编辑的数据。如何获取laravel 5.2更新方法中的请求

public function edit($id) 
{ 
    $user = Usermd::find($id); 
    return View::make('editcreate', compact('user')); 
} 

路线::

Route::get('/user/edit/{id}', '[email protected]'); 

检视:

{{ Form::model($user, ['url' => ['/user/update', $user->id]]) }} 
    {{ Form::text('u_name',$user->u_name) }} 
    {!! Form::input('submit', 'Update User') !!} 
{{ Form::close() }} 
我通过以下的处理( Reference

控制器编辑的数据

上面的代码对我来说工作正常,现在我想更新记录。

路线:

Route::get('/user/update/{id}', '[email protected]'); 

控制器:

public function update(Request $request, $id) 
    { 
     // 
     echo $request->u_name; 
     echo $id; 
    } 

当我echo在更新方法请求对象不显示任何东西,也返回错误

MethodNotAllowedHttpException RouteCollection.php线218:

任何人都可以指导我,我错了,我可以解决这个问题。另外我想知道编辑过程是否正确,或者我应该搜索一些更好的。如果有人指导我,我想感谢。谢谢。

+3

我想你应该设置布线后无法得到 – rad11

+0

@ rad11是我干的,现在它的工作。感谢分享知识 –

+0

如果你想让你的路由在他们的方法(POST,GET,...)不同时立即命名为相同的(即:/ user/edit/{id}) – Vuldo

回答

0

默认的更新没有使用GET方法,你应该通过这个定义你的路线:

Route::PUT('/user/update/{id}', '[email protected]');