从非资源路由页面提交表单真删除,报错404。

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel版本:11.20.0

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.3.10

3). 当前系统

Windows 10

4). 业务环境

开发环境

5). 相关软件版本

IIS 10

2. 问题描述?

web.php中 自定义了3条路由与一个资源路由

Route::get('/articles/softindex', [ArticlesController::class, 'softindex'])->name('articles.softindex')->middleware(['auth','verified']);  
Route::delete('/articles/{article}/softdelete', [ArticlesController::class, 'softDelete'])->name('articles.softdelete')->middleware(['auth','verified']);  
Route::delete('/articles/{article}/forcedelete', [ArticlesController::class, 'forceDelete'])->name('articles.forcedelete')->middleware(['auth','verified']);
Route::resource('articles', ArticlesController::class)->middleware(['auth','verified']);

路由列表显示正常

  GET|HEAD        articles ................................................. articles.index › ArticlesController@index
  POST            articles ................................................. articles.store › ArticlesController@store
  GET|HEAD        articles/create ........................................ articles.create › ArticlesController@create
  GET|HEAD        articles/softindex ............................... articles.softindex › ArticlesController@softindex
  GET|HEAD        articles/{article} ......................................... articles.show › ArticlesController@show
  PUT|PATCH       articles/{article} ..................................... articles.update › ArticlesController@update
  DELETE          articles/{article} ................................... articles.destroy › ArticlesController@destroy
  GET|HEAD        articles/{article}/edit .................................... articles.edit › ArticlesController@edit
  DELETE          articles/{article}/forcedelete .................... articles.forcedelete › ArticlesController@forceDelete
  DELETE          articles/{article}/softdelete ....................... articles.softdelete › ArticlesController@softDelete

在articles.index的页面执行,软删除与真删除的提交都是可以正常执行的。
但在articles.softindex地址执行,软删除与真删除就报错,错误404。

程序执行到次 127.0.0.1/articles/46/forcedelete 报错404

blade中的代码确定无误的,代码如下:

                            <form action="{{ route('articles.forcedelete', $article->id) }}" method="post">
                                @csrf
                                @method('DELETE')
                                <button type="submit" class="btn btn-danger btn-sm m-r-5"><i class="fa fa-eraser"></i> {{ __('Delete') }}</button>
                            </form>

ArticlesController.php里的删除的代码:

    // 软删除文章 
    // 由于使用了SoftDeletes trait,这将执行软删除  
    public function softDelete(Articles $article)  
    {  
        dd('softDelete');
        $article->delete();  
        return redirect()->route('articles.index')
            ->with('success','删除操作成功!');
    }  

    // 真删除(强制删除)文章  
    // 这将绕过软删除并执行真删除  
    public function forceDelete(Articles $article)  
    {  
        dd('forceDelete');
        $article->forceDelete(); 
        return redirect()->route('articles.softindex')
            ->with('success','永久删除操作成功!');
    }  

3. 您期望得到的结果?

请问是什么原因导致的?如果有类似的帮助文档,给一个URL即可。

4. 您实际得到的结果?

请问大佬们赐教点拨,搜索引擎与AI没搜到答案。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 9

大小写

5个月前 评论
mawd86 (楼主) 4个月前
php_yt (作者) 4个月前
mawd86 (楼主) 4个月前
mawd86 (楼主) 4个月前

控制台报错截图来一个

5个月前 评论
mawd86 (楼主) 4个月前

页面截图 file

点击删除后到404错误页面截图 file

路由表截图 file

4个月前 评论

论坛的图片为什么不显示呀!!!

4个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!