Laravel 5.8: 控制器的路由不能正常工作

Laravel 5.8: Controller's route doesn't work correctly

今天我遇到了一个 Laravel 项目 (Laravel 5.8) 的问题。我正在建立一个带有新闻板和一些子页面的内部网页。它是在我的机器上开发的。 Windows XAMP 环境 PHP 7.3.4

问题是我的 NewsController, 似乎没有正确地浏览页面。

网址:

内网.test/news/edit/

内网.test/news/123/

总是路由到错误的视图,我也不知道为什么。

routes/web.php:

Route::get('/', 'NewsController@index');
Route::resource('/news', 'NewsController');
Route::get('/arbeitsplaene', 'PageController@arbeitsplaene');
Route::get('/apothekenevents', 'PageController@apothekenevents');
Route::get('/kundentermine', 'PageController@kundentermine');
Route::get('/praktikantenbelegung', 'PageController@praktikantenbelegung');
Route::get('/addressbuch', 'PageController@addressbuch');
Route::get('/lieferbedingungen', 'PageController@lieferbedingungen');
Route::get('/qualitaetsmanagement', 'PageController@qualitaetsmanagement');
Route::get('/einekatzenseite', 'PageController@einekatzenseite');
Route::resource('/edvdokumentation', 'EdvdokuController');
Auth::routes();
Route::get('/dashboard', 'DashboardController@index');

新闻控制器:

public function edit($id)
{
    $data['news'] = News::find($id);

    return view('blade.pages.news-edit') -> with('data', $data);
}

intranet.test/news/create 路由到输入掩码并返回正确的视图 [ view('blade.pages.news-create') ]

intranet.test/news/123 路由到 post 123 的输出并且也使用右视图。

也许,这里有人可以帮助我!

如果你 运行 php artisan r:l --name=news 你应该得到名称包含 'news' 的所有路由(如果你更愿意按 uri 过滤,请改用 --path)。

在那里,如果我没记错的话,你会注意到 EDIT 路由有这样的路径

news/{news}/edit

而不是

news/edit

谢谢,

你说的太对了!

当我在控制台中使用 "php artisan r:l --name=news" 检查路由时,我发现了我的问题。

1.) 我的 uri 错误! -> news/{news}/edit 而不是 news/edit

2.) news/edit 路由到 index 函数并且 "edit" 不是一个 id,所以显示 post 的 index-function 爆炸了。

非常感谢,抱歉浪费您的时间...