你好,我还是 Laravel 的初学者,我在删除方法上遇到了问题。
这是我的控制器
public function destroy($id)
{
$home = Home::find($id);
$home -> delete();
return back();
}
这是我的秃顶
<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>
这是我的路线
Route::resource('home', 'App\Http\Controllers\TodosController')->middleware('auth');
当我按删除按钮时,为什么不起作用?哪里有问题?请帮忙。
首先,您需要获取要删除的内容,这是给您的一个例子 这将是你的控制器:
///用您的模型替换 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>
看起来您的代码中至少存在一些问题。
Route::delete('/todo/delete/{id}', ['App\Http\Controllers\TodosController', 'destroy'])->name('destroy')->middleware('auth');
Delete
而不是 Post
才能始终处理此类请求。