Laravel 5.8: маршрут контроллера не работает правильно - PullRequest
0 голосов
/ 03 мая 2019

Сегодня у меня проблема с проектом Laravel (Laravel 5.8). Я создаю интранет-страницу с газетной доской и некоторыми подстраницами. Он разработан на моей машине. Среда Windows XAMP с PHP 7.3.4

Проблема в моем NewsController,, который, кажется, неправильно перенаправляет страницы.

URL:

intranet.test / Новости / редактировать /

intranet.test / Новости / 123 /

всегда ведет к неправильному виду, и я не знаю почему.

маршруты / 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');

NewsController:

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 направляет к выводу сообщения 123 и также использует правильный вид.

Может быть, кто-то здесь может мне помочь!

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

Спасибо,

Вы были так правы!

Когда я проверил маршруты с помощью "php artisan r: l --name = news" в консоли, я обнаружил свою проблему.

1.) Ури был не прав!-> news / {news} / edit и NOT news / edit

2.) новости / редактировать маршруты к функции индекса, а «редактировать» - это не совсем идентификатор, поэтому функция индекса, которая показываетсообщение взорвалось.

Большое спасибо и извините за трату вашего времени ...

0 голосов
/ 03 мая 2019

Если вы запускаете php artisan r:l --name=news, вы должны получить все маршруты, в названии которых есть «новости» (если вы предпочитаете фильтровать по uri, вместо этого используйте --path).

Там, если я не ошибаюсь, вы заметите, что у маршрута EDIT есть такой путь

news/{news}/edit

а не

news/edit
...