Laravel 5.2更新记录

时间:2016-07-18 09:25:36

标签: php laravel laravel-5.2

我正在做一个简单的CRUD。我在编辑和更新数据库中的记录时遇到问题。

这是我的route.php:

Route::post('/task/edit',function (Request $request, $id){
$task = Task::find($id);
$task->name = Input::get('name');
$task->save();

return redirect('/');
});

这是我的表格:

<form action="{{url('/task/edit')}}" method="POST" role="form">
  {{csrf_field()}}
  <label for="editTask" class="control-label">Edit Task</label>
  <input type="text" class="form-control" name="name">
  <br>
  <button class="btn btn-success form-control">Submit</button>
</form>

我可以知道如何解决这个问题吗?我指的是Basic Task List,并想添加一个更新的功能。或者我刚做错了什么?

1 个答案:

答案 0 :(得分:1)

应该是:

Route::post('/task/edit', function (Request $request){

    $task = Task::find($request->input('id'));
    $task->name = $request->input('name');
    $task->save();

    return redirect('/');
});

并且在表单中您必须添加隐藏的输入类型

<input type="hidden" name="id" value="{{ $id }}" />

并且不要忘记将这些路线放在

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

为_token工作