Laravel 6 -刀片中的命名路由不允许在参数中使用特殊字符或大写字母

zbwhf8kr  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(127)

我最近升级到了laravel 6,我注意到了一个奇怪的错误。我的一些路线在我的刀片模板停止工作。
以这条路线为例:

Route::post('/create-save-folder/', [
    'uses' => 'SaveFolderController@createSaveFolder',
    'as' => 'create.save.folder',
    'middleware' => ['auth'],
]);

在blade中,这在laravel 5.8中曾经工作得很好:

<a href="{{ route('get.save.folder', ['ID' => $folder->ID, 'URL_title' => $folder->URL_title]) }}">

然而现在它给我的错误:
缺少[Route:获取.保存.文件夹] [URI:保存文件夹/{ID}/{URL_title}]。(查看:C:\xampp\htdocs\MC\资源\视图\部分\用户侧边栏块.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',否则我不知道如何才能使此路由工作。
为什么会这样?

xuo3flqw

xuo3flqw1#

我也有一些问题,我的刀片文件时,升级,但不完全一样,你的。
php artisan view:clear对我来说很有用。

相关问题