从数据库laravel9中删除

发布于 2025-02-13 12:04:53 字数 1201 浏览 0 评论 0原文

我试图从Laravel 9中的数据库中删除,Blade PHP文件中的代码是:

<form action="/waifus/{{ $waifu->id }}" method="POST">
                @csrf
                @method('DELETE')
                <button class="text-red-500"> Delete</button>
</form>

Web PHP文件中的代码是:

// Delete Waifu
Route::delete('/waifus/{waifu}', [WaifuController::class, 'delete']);

WaifuController中的代码是:

 //Delete waifu
    public function delete(Waifu $waifu)
    {
        dd($waifu);
        $waifu->delete();
        return redirect('/')->with('message', 'Waifu deleted succesfully');
    }

我遇到的问题是,每当我单击即表单内的按钮,它仅使用URL重新加载同一页面: “ http:// localhost:8000/waifus/7?search =&amp; _token = ue61kazbtkckz4ovw8cacld3sbxawxajzlrixq6x&_method&_method = delete = delete = delete = 而且它不会转到控制器中的Die Dump方法,任何帮助都会杏液。

编辑: 添加这样的新表格解决了我的问题,但我仍然不知道为什么,有人可以解释一下。

    <form>
    Delete: 
    </form>

    <form action="/waifus/{{ $waifu->id }}" method="POST">
        @csrf
        @method('DELETE')
        <button class="text-red-500"> Delete</button>
    </form>

I am trying to delete from a database in Laravel 9, My code in the blade php file is:

<form action="/waifus/{{ $waifu->id }}" method="POST">
                @csrf
                @method('DELETE')
                <button class="text-red-500"> Delete</button>
</form>

My code in the web php file is:

// Delete Waifu
Route::delete('/waifus/{waifu}', [WaifuController::class, 'delete']);

My code in the WaifuController is:

 //Delete waifu
    public function delete(Waifu $waifu)
    {
        dd($waifu);
        $waifu->delete();
        return redirect('/')->with('message', 'Waifu deleted succesfully');
    }

The problem I am facing is that, when ever I click the button inside the form, it only reloads the same page with the url:
"http://localhost:8000/waifus/7?search=&_token=uE61kaZBtkCkZ4oVW8cacld3sbXaWxaJzLRixQ6X&_method=DELETE"
And it doesn't go to the die dump method in the controller, any help is apricated.

Edit:
Adding a new empty form like this solved my problem, but I still don't know why, can someone please explain it.

    <form>
    Delete: 
    </form>

    <form action="/waifus/{{ $waifu->id }}" method="POST">
        @csrf
        @method('DELETE')
        <button class="text-red-500"> Delete</button>
    </form>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

遗心遗梦遗幸福 2025-02-20 12:04:53

您不能具有嵌套的形式元素。将您的表格放在主表单外面,并在内部的按钮内部提交删除表单。

<button type="submit" form="delete_waifu" class="text-red-500"> Delete</button>

然后在主要形式之外

<form id="delete_waifu" action="/waifus/{{ $waifu->id }}" method="POST">
  @csrf @method('DELETE')
</form>

You cannot have nested form elements. Place your form outside the main form with a button inside that submits the delete form.

<button type="submit" form="delete_waifu" class="text-red-500"> Delete</button>

then outside of the main form

<form id="delete_waifu" action="/waifus/{{ $waifu->id }}" method="POST">
  @csrf @method('DELETE')
</form>
茶花眉 2025-02-20 12:04:53
<form action="/waifus/{{ $waifu->id }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="text-red-500"> Delete</button>
</form>

//Delete
public function delete($waifu)
{   
  Model::find($waifu)->delete(); // Model name will be your Model name
  return redirect('/')->with('message', 'Waifu deleted succesfully');
}
<form action="/waifus/{{ $waifu->id }}" method="POST">
@csrf
@method('DELETE')
<button type="submit" class="text-red-500"> Delete</button>
</form>

//Delete
public function delete($waifu)
{   
  Model::find($waifu)->delete(); // Model name will be your Model name
  return redirect('/')->with('message', 'Waifu deleted succesfully');
}
深居我梦 2025-02-20 12:04:53

您必须添加按钮类型提交;

<button type="submit" class="text-red-500"> Delete</button>

you have to add button type submit like;

<button type="submit" class="text-red-500"> Delete</button>
我还不会笑 2025-02-20 12:04:53

在您的控制器中

 //Delete waifu
public function delete($waifu)
{
    $waifu = Waifu::find($waifu)->delete(); //supposed Waifu is your Model
    return redirect('/')->with('message', 'Waifu deleted succesfully');
}

in your controller

 //Delete waifu
public function delete($waifu)
{
    $waifu = Waifu::find($waifu)->delete(); //supposed Waifu is your Model
    return redirect('/')->with('message', 'Waifu deleted succesfully');
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文