从 laravel 5.2 中的不同网址重定向到相同的操作

Redirects to same action from different urls in laravel 5.2

我正在使用 Laravel 5.2。

我正在通过两个网址传递参数。但它总是只走第一条路线。

我的routes.php中的代码如下:

Route::get('{department}', 'settings@load_department_settings')->middleware('auth');
Route::get('{id}', 'settings@load_staff')->middleware('auth');

查看的锚点标签如下:

<td><a href="/{{$staff->id}}">{{$staff->name}}</a></td>
<td><a href="/{{$staff->deptname}}">{{$staff->deptname}}</a></td>

问题是它总是使用 'settings@load_department_settings'。我如何在点击员工姓名时使用 'settings@load_staff'?

它总是会使用 {department} 路由,因为它匹配根 / 斜杠上的任何内容。您需要至少了解其中一个唯一前缀。例如:

Route::get('department/{department}', 'settings@load_department_settings')->middleware('auth');
Route::get('staff/{id}', 'settings@load_staff')->middleware('auth');

然后

<td><a href="/staff/{{$staff->id}}">{{$staff->name}}</a></td>
<td><a href="/department/{{$staff->deptname}}">{{$staff->deptname}}</a></td>