你好,我仍然是laravel的初学者,我在删除方法上遇到了一个问题。
this my controller
public function destroy($id)
{
$home = Home::find($id);
$home -> delete();
return back();
}
this my balde
<div class="col-6 sampah">
<form action="{{ route('home.destroy', $home->id) }}" method="POST">
@csrf
@method('DELETE')
<a href="">
<i class="bi bi-trash3-fill" style="width: 10px; height:10px;"></i>
</a>
</form>
</div>
this my route
Route::resource('home', 'AppHttpControllersTodosController')->middleware('auth');
当我按下删除键时,为什么不工作?问题在哪里?请帮助。
首先,您需要得到您想要删除的内容,这是一个示例它将是你的控制器:
///用MODEL替换Crud////
public function destroy(Request $request,$id){
$data = Crud::findOrFail($id);
$data->delete();
return redirect('YOUR_HOME_PAGE')->with('success', 'User is successfully deleted');
}
这是你的刀片:
<td>
<form action="{{ route('home.destroy', $row->id) }}" method="post">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-xs btn-danger btn-flat show_confirm" data-toggle="tooltip" title='Delete'>Delete</button>
</form>
</td>
</tr>
你需要简化事情。
与其在html中创建表单,为什么不使用单个锚按钮来实现相同的效果呢?
<a class="#" data-method="delete" data-confirm="Are you sure?" href="{{ route('home.destroy', $row->id)}}">Delete</a>
href link很重要。Data-method实际上是路由的类型你应该使用route type作为delete。