LARAVEL: маршруты POST и GET с одинаковым именем, скремблирующие link_to_route

Я получил эти маршруты:

    Route::get('prefix/list/{page?}/{size?}', ['as' => 'prefix.list', 'uses' => 'MyController@getList']);
    Route::post('prefix/list', ['as' => 'prefix.list', 'uses' => 'MyController@postList']);

Когда я вызываю link_to_route() вот так:

{{ link_to_route('prefix.list', $page, ['page' => $page, 'size' => $size]) }}

Он создает эту ссылку:

http://my.site/prefix/list?page=5&size=12

Но когда я удаляю почтовый маршрут, он правильно отображает следующее:

http://my.site/prefix/list/5/12

Я не хочу менять названия маршрутов, потому что моя система зависит от того, чтобы они были одинаковыми. Как я могу это решить?


person Matheus Simon    schedule 19.11.2016    source источник
comment
Вы можете попробовать просто изменить порядок маршрутов в вашем файле маршрутов, чтобы маршрут получения был последним и переопределял сообщение для целей link_to_route(). Хотя не уверен на 100%, что это сработает.   -  person Joel Hinz    schedule 19.11.2016
comment
@JoelHinz Это сработало! Опубликуйте ответ, и я отмечу его. Спасибо!   -  person Matheus Simon    schedule 19.11.2016
comment
Потрясающий! Рад, что это помогло, и спасибо, что позволили мне. :)   -  person Joel Hinz    schedule 19.11.2016


Ответы (1)


Вы можете попробовать просто изменить порядок маршрутов в вашем файле маршрутов, чтобы маршрут получения был последним и переопределял сообщение для целей link_to_route().

person Joel Hinz    schedule 19.11.2016