Php 拉维尔航线问题

Php 拉维尔航线问题,php,laravel,routes,laravel-5.2,Php,Laravel,Routes,Laravel 5.2,我不明白为什么我使用Laravel route()函数生成的链接看起来不像我想要的 下面是my Routes.php的代码行 Route::get('/market/announcements/show/{period}/{date}', array('as' => 'market.announcements.index', 'uses' => 'AnnouncementsController@index')); Route::get('/market/announcements/h

我不明白为什么我使用Laravel route()函数生成的链接看起来不像我想要的

下面是my Routes.php的代码行

Route::get('/market/announcements/show/{period}/{date}', array('as' => 'market.announcements.index', 'uses' => 'AnnouncementsController@index'));
Route::get('/market/announcements/history', array('as' => 'market.announcements.history', 'uses' => 'AnnouncementsController@history'));
Route::resource('market/announcements', 'AnnouncementsController');
以下是我如何生成链接的:

route('market.announcements.index', ['period' => $key, 'date' => $link])
不幸的是,生成的链接是: 市场/公告?期限=年份和日期=2016年

而不是: 市场/公告/展会/年度/2016

这是因为

Route::resource('market/announces'、'AnnouncementsController');
覆盖路由

Route::get('/market/announcements/show/{period}/{date}),数组('as'=>'market.announcements.index','uses'=>'AnnouncementsController@index'));
如果您运行php artisan route:list,您将看到

+-----------+-------------------------------------------+------------------------------+ | Method | URI | Name | +-----------+-------------------------------------------+------------------------------+ | POST | market/announcements | market.announcements.store | | GET|HEAD | market/announcements | market.announcements.index | | GET|HEAD | market/announcements/create | market.announcements.create | | GET|HEAD | market/announcements/history | market.announcements.history | | GET|HEAD | market/announcements/show/{period}/{date} | market.announcements.index | | GET|HEAD | market/announcements/{announcements} | market.announcements.show | | PUT|PATCH | market/announcements/{announcements} | market.announcements.update | | DELETE | market/announcements/{announcements} | market.announcements.destroy | | GET|HEAD | market/announcements/{announcements}/edit | market.announcements.edit | 如果在
tinker
中尝试,您会看到您的路线现在按预期运行

$ php artisan tinker Psy Shell v0.7.2 (PHP 5.6.19 — cli) by Justin Hileman >>> route('market.announcements.index', ['period' => 'year', 'date' => 2016]); => "http://localhost/market/announcements/show/year/2016" $php artisan tinker Justin Hileman的Psy Shell v0.7.2(PHP5.6.19-cli) >>>路线('market.announcements.index',['period'=>'year','date'=>2016]); => "http://localhost/market/announcements/show/year/2016"
谢谢。我已经更改了顺序,现在可以使用了:)