【问题标题】:Redirects to same action from different urls in laravel 5.2在 laravel 5.2 中从不同的 url 重定向到相同的动作
【发布时间】:2018-01-24 07:02:55
【问题描述】:

我正在使用 Laravel 5.2。

我通过两个 url 传递参数。但它总是只去第一条路线。

我的 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”?

【问题讨论】:

    标签: laravel-5.2


    【解决方案1】:

    它总是会使用{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>
    

    【讨论】:

    • 没有其他方法可以确定是否选择了部门或员工?
    • No 因为'{department}' 将匹配任何'/sales', '/1' 等。
    猜你喜欢
    • 2016-05-15
    • 1970-01-01
    • 2015-03-19
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多