php - 当我的索引和创建路由工作时,为什么我的编辑和删除方法会返回“404 not found”
问题描述
Laravel 版本已经更新,路由现在需要一个对象,而不是我上次使用它时的 id。
当我尝试传递控制器中的方法想要的 $item 对象时。我得到一个 404 not found 并且我的日志没有返回......这意味着该函数没有运行。当 $item obj 未通过函数时,该函数意识到缺少参数,因此刀片将方法识别为与控制器中的方法相同。
在 Blade 中调用编辑函数:
控制器代码:
我感谢任何帮助。
解决方案
您的路线顺序可能是错误的
当您首先定义显示路线/item/{item}
然后使用/item/create
laravel 创建时会认为“创建”是 id(或引用)
最好的办法是拥有
- 索引
- 创造
- ……
- 节目
代码示例正确
Route::get('/', ProductIndex::class)->name('product.index');
Route::get('/new', ProductCreate::class)->name('product.create');
Route::get('/{product}', ProductShow::class)->name('product.show');
代码示例错误
Route::get('/', ProductIndex::class)->name('product.index');
Route::get('/{product}', ProductShow::class)->name('product.show');
Route::get('/new', ProductCreate::class)->name('product.create');
推荐阅读
- mybatis - 在 myBatis-mapping 中按索引访问列表元素
- ios - Firebase 推送通知在上传到应用商店 ios 后不起作用
- python - 如何使用python pdfrw包使可填写的pdf只读pdf
- javascript - 如何在 React Native 中使用 Formik、Yup、Ui Kitten 的复选框和单选按钮
- c# - c# Core MVC不能访问非静态字段
- python - 列出从python中的日期范围排除
- html - 如何在 Bootstrap 4 中合并 2 行和 2 列成为 1 个大框?
- unity3d - MRTK V2.2 - 由于创建认证时出错而无法构建
- python - 可以传递给 tf.keras.model.compile 的指标列表
- html - 出现在固定 div 上的模态叠加