从非资源路由页面提交表单真删除,报错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没搜到答案。
大小写
控制台报错截图来一个
页面截图
点击删除后到404错误页面截图
路由表截图
论坛的图片为什么不显示呀!!!