当前位置: 首页 > 知识库问答 >
问题:

Laravel 8不从DB中删除数据

壤驷乐邦
2023-03-14

我正在使用Laravel8开发我的项目,现在我想从DB中删除一个数据,所以我添加了这个表单:

<form action="{{ route('destroy.question', $show->slug) }}" method="POST">
   @csrf
   @method('DELETE')
   <button type="submit" class="text-blue-500 BJadidBold">Delete Question</button>
</form>

下面是实现这一目标的途径:

Route::delete('questions/{slug}' , [QuestionController::class, 'destroyQuestion'])->name('destroy.question');

这是控制器方法:

public function destroyQuestion(Question $show)
    {
        if($show->ownedBy(auth()->user())){
            $show->delete();

            return back();
        }
    }

现在的问题是,它没有工作,我的意思是它抓取slug正确,但它显示404未找到页面不知怎么的!

而且我也测试了这个:

public function destroyQuestion(Question $show)
    {
        dd($show);
    }

但仍然显示404 NOT FOUND页面,这意味着进程没有到达控制器方法destroyAnswer()

那么我该如何解决这个问题呢?

我非常感谢你们的任何想法或建议...

多谢了。

共有2个答案

何灼光
2023-03-14

我尝试了这条路线:

Route::delete('{id}' , [QuestionController::class, 'destroyQuestion'])->name('destroy.question');

而且效果很好。

邹胜泫
2023-03-14

您没有正确路由模型绑定。您正在尝试通过slug查找问题,而slug不是主键。Laravel允许您通过在slug前缀question:来实现这一点。试试看:

use App\Models\Question;

Route::delete('questions/{question:slug}' , [QuestionController::class, 'destroyQuestion'])->name('destroy.question');
 类似资料:
  • 这是我的DAO方法: 这是我的控制器: 当我试图删除到对象时,删除分离的实例时出错。 我在合并前后做了sysout,都是false,但我不知道为什么。为什么我的对象仍然是分离的? 在stackTrace之前,我有这样的消息: KWI21, 2016 10:47:45AMorg.apache.catalina.core.Standard ardWrapperValve在路径[/zapisywacz.

  • 这段代码连接到数据库 这是原始相册DAO的代码,我正在尝试按名字删除相册,我添加了albumDAO来测试是否连接了ti,但它仍然不工作

  • 问题内容: 这是我在角度控制器中创建的数组。 然后,我使用push方法将一些值插入到数组中: 这是插入后的数组值: 在插入之后,这里已经向数组添加了额外的东西,但是我需要从数组中删除它。 问题答案: 根据您需要将数组插入数据库的评论,我将假设您将其转换为JSON字符串,然后将其保存到数据库中。如果不正确,请告诉我,我将看看是否可以修改此答案。 在将数组转换为JSON时,有两个选项可用于修改数组。第

  • 我是一个初学者开发人员。我的应用程序中有一个SQLite数据库。我已经成功地为其添加了添加、删除和更新功能。我现在正在尝试实现滑动删除,但是,我面临着当前的问题:有时在我滑动并删除项目后,它会成功删除(从数据库中),有时不会,有时会删除上面的项目,有时会删除上面的项目2 id。我做了很多尝试和错误,但我无法确认为什么会发生这种情况。总是发生的是项目从视图中删除,因为它不再有自己的卡(我正在使用ca

  • 如何从Cosmos DB中删除单个记录? 我可以使用SQL语法进行选择: 果然,所有文档(类似于行?)都返回了 然而,当我试图删除时,这不起作用 我如何实现这一点?

  • 我是使用 Azure 进行开发的新手。我希望你能帮助这个代码。我的 gol 是从 Azure Cosmos DB 的集合中删除这些项。但是我得到http错误:如果我使用此值'partionKey'='/Structures',则为400,如果值为'',则为404。错误消息 = “x-ms 分区键标头中提供的分区键的组件数少于集合中定义的组件数”