如何在laravel中制作多条路线

时间:2018-03-05 21:02:08

标签: laravel routes

我有这两条路线

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

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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

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

索引的网址如下所示:

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