首页 > 解决方案 > 从 laravel 中的数据透视表中删除问题

问题描述

我在删除订单时遇到问题:

这里是按取消删除订单的表格:

<form action="{{route('user.orders.delete', $order->id)}}" method="POST"
                                  onsubmit="return confirm('Are you sure?');">
                                @method('DELETE')
                                @csrf
                                <button
                                    type="submit" class="mt-8 mb-4 py-2 px-14 rounded-full
                                    bg-red-900 text-white tracking-widest hover:bg-blue-800
                                    transition duration-200">
                                    Cancel
                                </button>
                            </form>

这是我的路由器:

 Route::delete('user/orders/delete/{order}', [OrderController::class, 'delete'])->name('user.orders.delete');

因此,当单击按钮(取消)时,只需转到正确的 url:当 21 是订单 ID 时

http://127.0.0.1:8000/user/orders/delete/21

它只是没有找到页面!并没有删除任何内容!!!

标签: laravelpivot

解决方案


我认为您的应用程序路线已缓存

尝试运行 fallowing 命令(在 cmd 或终端中)以查看所有路由,这将显示已注册的路由和错误(如果存在):

php artisan route:list

如果路由列表中不存在该路由,则可能会缓存该路由列表。尝试使用以下命令清除路由缓存:

php artisan route:clear

然后运行应用程序并测试路线。

如果您在编码或命名变量方面没有其他问题,程序将被正确修复

*如果以上所有内容都可以,您的 apache 配置似乎未配置为删除请求(用于路由删除方法),您必须更改 .htaccess requests LIMIT (如以下示例)以授予删除请求:

<Limit GET POST PUT DELETE>
  Allow from all
</Limit>

如您所见,删除方法(请求)已添加到 .htaccess


推荐阅读