【发布时间】:2016-03-30 19:29:41
【问题描述】:
我在问一个非常基本的问题,我搜索了两个多小时,但仍然无法解决它。我是 laravel 的新手,并试图阅读他们的任务示例。但是有些删除不起作用。 以下是我的路线代码:
Route::delete('/task/{task}', function(\AltafBlog\Task $task) {
$task->delete();
return redirect('/');
});
下面是我的删除表格:
<form action="{{url('/task', [$task->id])}}" method="post">
{{csrf_field()}}
{{method_field('DELETE')}}
<button class="btn btn-danger">Delete</button>
</form>
现在,当我单击删除按钮时,它不会删除表中的项目。另外,我没有收到任何错误消息。添加新项目并列出它们工作正常。 我不确定我做错了什么。有人可以建议那里发生了什么吗?
更新:更新到 laravel 5.2 后,模型绑定工作正常,但验证器在 post 路由中不工作。发帖路线如下:
Route::post('/task', function(Request $request) {
$validator = Validator::make($request->all(), [
'title' => 'required|max:255',
]);
if($validator->fails())
{
return redirect('/')->withInput()->withErrors($validator);
}
$task = new Task();
$task->title = $request->title;
$task->active = 1;
$task->save();
return redirect('/');
});
谢谢
【问题讨论】:
-
你在回调中得到
$task实例了吗? -
您正在传递但未在路线中使用的任务 ID
-
@vijay4vijju 如果他使用 laravel 5.2 有隐式绑定
-
我正在关注这个:laravel.com/docs/5.2/quickstart#deleting-the-task。在隐式模型绑定中,它会自动加载具有该 id 的模型。
-
@vijay4vijju。刚刚检查过,我使用的是 laravel 5.1.24。我如何将其更新到 5.2?