Я недавно обновился до laravel 6 и заметил странную ошибку. Некоторые из моих маршрутов в шаблонах блейдов перестали работать.
Возьмем этот маршрут, например:
Route::post('/create-save-folder/', [
'uses' => 'SaveFolderController@createSaveFolder',
'as' => 'create.save.folder',
'middleware' => ['auth'],
]);
В блейде этот метод работал нормально laravel 5.8:
<a href="{{ route('get.save.folder', ['ID' => $folder->ID, 'URL_title' => $folder->URL_title]) }}">
Однако теперь выдает ошибку:
Отсутствуют обязательные параметры для [Route: get.save.folder] [URI: save-folder / {ID} / {URL_title} ]. (Представление: C: \ xampp \ htdocs \ MC \ mainchan \ resources \ views \ partials \ user_sidebar_block.blade. php)
Поэтому я провел некоторую отладку. Если я изменю параметры на случайные строки, например так:
<a href="{{ route('get.save.folder', ['ID' => 'test', 'URL_title' => 'test']) }}">
, который работает нормально.
Так что после дополнительной отладки я попытался изменить '$ folder-> ID' на '$ folder- > id 'в первом параметре.
Это сработало. Что действительно странно, потому что, если я напишу что-то вроде этого в blade-файле:
<p>URL TITLE:{{$folder->URL_title}}</p>
<p>ID:{{$folder->ID}}</p>
, он вернет правильные результаты. Так что это хорошо работает для «id», но «URL_title» все еще доставляет мне проблемы, потому что у него есть подчеркивание. Поэтому, если я не переключу свой столбец базы данных на «urltitle» вместо «URL_title», я не знаю, как заставить этот маршрут работать.
Почему это происходит?