laravel - 在 Laravel 5.7 中找不到编辑路由页面时出错
问题描述
Laravel 版本 5.7 PHP 7+
我创建了一个资源控制器-> CategoryController [拥有所有神奇的方法]
这是路线/web.php
Route::group(['as'=>'admin.','middleware'=>['auth','admin'],'prefix'=>'admin'], function(){
Route::get('/dashboard','AdminController@dashboard')->name('dashboard');
// product resource controller methods
// check php artisan r:l
Route::resource('product', 'ProductController');
Route::resource('category', 'CategoryController');
Route::resource('profile', 'ProfileController');
Route::post('remove', 'CategoryController@remove')->name('category.remove');
});
现在如您所见,我有“ http://127.0.0.1:8000/admin/category/1/edit ”用于我的一个类别,以使用类别 id = 1 进行编辑,该类别也存储在数据库中。
<?php
namespace App\Http\Controllers;
use App\Category;
use Illuminate\Http\Request;
class CategoryController extends Controller
{
public function index()
{
$categories = Category::paginate(3);
return view('admin.categories.index',compact('categories'));
}
public function edit(Category $category)
{
return "This is category edit page";
// dd($category);
// $categories = Category::where('id','!=', $category->id)->get();
// // dd($categories);
// return "This is category edit page";
// return view('admin.categories.create',['categories' => $categories, 'category'=>$category]);
}
当我尝试转到此编辑类别页面时,它显示 404 page not found 错误。
虽然,当我使用闭包函数为编辑方法创建单独的路径以返回一些文本时,它工作得很好。
Route::get('category/{category}/edit', function($category){
return $category;
})->name('category.edit');
解决方案
你没有排除你得到的完整错误,但尝试改变:
public function edit(Category $category)
{
return "This is category edit page";
}
进入:
public function edit($category)
{
return "This is category edit page";
}
看看它是否有帮助。如果有帮助,则表示没有与您传递的 id 匹配的记录或此记录被软删除(或某些附加条件不满足) - Laravel 使用 Route 模型绑定来匹配有效记录。
推荐阅读
- javascript - 如何在带有javascript的laravel中使用“阅读更多”按钮
- itext - 在现有的 pdf 旋转页面上书写文本
- python - 使用屏幕管理器在对话框后刷新或重新加载 kivy 屏幕
- javascript - 如何获得时差时刻js?
- go - golang在将float32转换为float64时失去精度?
- reactjs - React:如何使用材质ui组合多个外部makestyle?
- python - Python 聊天机器人未运行
- typescript - TS、DDD:值对象和工厂
- python - 在我的脚本中尝试执行 exe 时出错
- node.js - 加密 Node.js:PBEWithHmacSHA512AndAES_128