如何在laravel中制作多条路线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在laravel中制作多条路线相关的知识,希望对你有一定的参考价值。

我有这两条路线

 Route::get('/{bank}', array('as' => 'id', 'uses' => 'BanksController@single'));
Route::get('/{city?}/{sort?}', 'BanksController@index');

当我输入http / alfa_bank时,我看到BanksController @ single动作当我输入/ new_york我看到同样的

如何在条件下看到BanksController @ index动作,而不是它在路由器中的第一个参数

答案

由于银行和城市共享相同的字符集,您实际上无法区分这两者,而Laravel的路由不允许您从另一条路线中进入另一条路线。

看起来索引路线应该是特定城市中的所有银行(如果提供了城市),所以我建议以下路线定义:

Route::get('/', 'BanksController@index');
Route::get('/{bank}', ['as' => 'id', 'uses' => 'BanksController@single']);

在索引方法中,您仍然可以查找城市并将类型排序为查询参数:

$city = $request->query('city');
$sort = $request->query('sort');

索引的URL如下所示:

https://example.com/?city=new_york
https://example.com/?city=new_york&sort=asc

以上是关于如何在laravel中制作多条路线的主要内容,如果未能解决你的问题,请参考以下文章

未定义路由 [threads.storev]。 Laravel 8 如何制作这条路线?

如何在两个位置之间获得多条路线?

laravel 制作自己的刀片文件路径

Laravel 在到达路线时创建数据库条目?

如何在 Laravel 中打开到模态窗口的路线

如何在laravel路由文件中编写动态url方法?