Laravel 6 - Именованный маршрут в блейде, не допускающий специальных символов или заглавных букв в параметрах - PullRequest
0 голосов
/ 01 апреля 2020

Я недавно обновился до 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», я не знаю, как заставить этот маршрут работать.

Почему это происходит?

1 Ответ

0 голосов
/ 01 апреля 2020

У меня также были некоторые проблемы с моими блейд-файлами при обновлении, но они не были такими же, как у вас.

Выполнение php artisan view:clear помогло мне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...