laravel - 删除方法在 laravel 8 中不起作用

问题描述 投票:0回答:2

你好,我还是 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');

当我按删除按钮时,为什么不起作用?哪里有问题?请帮忙。

javascript php laravel laravel-8 delete-file
2个回答
0
投票

首先,您需要获取要删除的内容,这是给您的一个例子 这将是你的控制器:

///用您的模型替换 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>


 

-1
投票

看起来您的代码中至少存在一些问题。

  1. 再次验证您的路线是否在routes/web.php或类似内容中定义。
    Route::delete('/todo/delete/{id}', ['App\Http\Controllers\TodosController', 'destroy'])->name('destroy')->middleware('auth');
  2. 您的表单方法应该是
    Delete
    而不是
    Post
    才能始终处理此类请求。
© www.soinside.com 2019 - 2024. All rights reserved.