更新 laravel 5.1.8 至 5.1.24 后未定义路由

Route is not defined after updating laravel 5.1.8 to 5.1.24

我用 composer update 更新了我的 laravel 安装,但我收到了这个错误。

Route [categoryid] not defined

奇怪的是,在更新之前,它工作得很好。 我的 routes.php 文件如下所示:

Route::group(['prefix'=>'category'], function () {

    Route::get('mobilephones', [
        'as'=>'mobilephones',
        'uses'=>'PhoneController@getShow'
    ]);

    Route::get('{categoryid}', [
        'as'=>'categoryid',
        'uses'=>'CategoryController@one'
    ]);

    Route::get('{categoryid}', [
        'as'=>'computerscategoryid',
        'uses'=>'CategoryController@one'
    ]);      
});

并且我正在使用此 html 代码调用路由

<li><a href="{{route('categoryid',['argument'])}}">Argument</a></li>

过去一切正常所以有人知道 5.1.8 之后组路由文件发生了变化吗?

作为一般规则,始终运行 php artisan route:list 查看您的路线的编译列表。

您有两条路线做完全相同的事情:

Route::get('{categoryid}', [
    'as'=>'categoryid',
    'uses'=>'CategoryController@one'
]);

Route::get('{categoryid}', [
    'as'=>'computerscategoryid',
    'uses'=>'CategoryController@one'
]);

他们接受同样的论点。他们被发送到相同的控制器操作。唯一的区别是它们有不同的路由名称。其中之一(第二个)很可能会覆盖另一个。我建议删除第二个 - computerscategoryid - 因为我看不出同时拥有它们的目的。