laravel - 从 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');
OrderController:删除功能:
公共函数删除(订单$order){尝试{取消链接(public_path()。'/storage/orders/files/'.$order->file);$order->delete(); }catch(\Exception $e) { return redirect()->back()-with('status', '你不能删除这个项目');
} return redirect()->back()->with('status', 'product deleted succefully'); }
因此,当单击按钮(取消)时,只需转到正确的 url:当 21 是订单 ID 时
http://127.0.0.1:8000/user/orders/delete/21
它只是没有找到页面!并没有删除任何内容!!!
解决方案
我认为您的应用程序路线已缓存
尝试运行 fallowing 命令(在 cmd 或终端中)以查看所有路由,这将显示已注册的路由和错误(如果存在):
php artisan route:list
如果路由列表中不存在该路由,则可能会缓存该路由列表。尝试使用以下命令清除路由缓存:
php artisan route:clear
然后运行应用程序并测试路线。
如果您在编码或命名变量方面没有其他问题,程序将被正确修复
*如果以上所有内容都可以,您的 apache 配置似乎未配置为删除请求(用于路由删除方法),您必须更改 .htaccess requests LIMIT (如以下示例)以授予删除请求:
<Limit GET POST PUT DELETE>
Allow from all
</Limit>
如您所见,删除方法(请求)已添加到 .htaccess
推荐阅读
- swift - SwiftUI | 如果安排了 Timer,为什么 wheelPicker 不能按预期工作?
- java - 发送空列表时 ModelAttribute 中的 NPE
- ruby-on-rails-5 - Searchkick 密码错误记录创建/编辑
- python - 字典到数据框
- next.js - 为什么当我更改我的 url 时我的 sidenav 会重新呈现?每个页面都使用 Layout.js,其中包括我的 sidenav
- python - 为什么 tf.keras.dataset 中的数据序列改组会影响 tf.fit 和 tf.predict 之间的序列顺序?
- java - JTable 中特定单元格中的 JComboBox
- reactjs - 在产品页面中使用 const 输入错误
- javascript - Realm React Native SDK:如何关闭 Realms 而不会出现“访问已失效或删除的 X 类型对象”错误?
- javascript - 无限滚动 React JS 回收 dom