【问题标题】:Confusing Laravel routes令人困惑的 Laravel 路线
【发布时间】:2020-12-16 20:25:27
【问题描述】:

我有一个带有 show 方法的用户列表(具有多对多角色),但我希望根据用户类型(目前有 5 种不同类型)有一个不同的个人资料页面

我的 UsersController 的方法 show 很好地显示了用户,但我仍然做了一个 AdminController 来创建管理员个人资料页面。

Route::namespace('Admin')->prefix('admin')->name('admin.')->middleware('can:manage-admin')->group(function() {
Route::resource('formations', 'FormationsController');
Route::resource('utilisateurs', 'UsersController');
Route::resource('categories', 'CategoriesController');
Route::resource('disciplines', 'DisciplinesController');
Route::resource('levels', 'LevelsController');

Route::get('/panel', 'AdminController@dashboard')->name('admin.dashboard');
Route::get('/profil', 'AdminController@profile')->name('admin.profile');
Route::post('/panel', 'AdminController@profileUpdate')->name('admin.profileUpdate');

});

但是,当我尝试从索引页面显示管理员的个人资料时,当我想显示我的 AdminController 的 Profile 方法返回的内容时,我遇到了 Show 方法。

我知道这是用 if 完成的,否则在索引刀片页面中,但我对确切的路线有点困惑......

这是我在索引刀片视图中的内容:

<td width="10%">

                                <a href="{{ route('admin.utilisateurs.show', $user->id) }}">
                                    <button type="button" class="btn btn-success mr-1">
                                        <i class="fas fa-eye mr-1"></i>
                                    </button>
                                </a>

                                <a href="{{ route('admin.utilisateurs.edit', $user->id) }}">
                                    <button type="button" class="btn btn-info mr-1">
                                        <i class="fas fa-pencil-alt mr-1"></i>
                                    </button>
                                </a>

                                <a href="#" data-toggle="modal" data-target="#modal-delete-{{ $user->id }}">
                                    <button type="submit" class="btn btn-primary mr-1">
                                        <i class="fas fa-trash mr-1"></i>
                                    </button>
                                </a>
                            </td>

【问题讨论】:

    标签: laravel laravel-blade laravel-routing


    【解决方案1】:

    我不知道我是否完全理解您的问题,但取决于我阅读的内容,您是否正试图根据用户的访问级别将用户重定向到其他页面。

    所以这可能会有所帮助 >>> https://laravel.com/docs/7.x/middleware

    【讨论】:

      【解决方案2】:

      据我所知,您不能使用 middleware 来处理刀片 在回答您的问题时,请考虑user_type id 列确定您的用户组 作为一种简单的方法,为您的每个组创建刀片并将其返回到控制器中

      function profile(){
           return view($user->user_type);
      }
      

      【讨论】:

        猜你喜欢
        • 2014-05-30
        • 1970-01-01
        • 1970-01-01
        • 2016-06-06
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 2022-01-17
        • 2018-02-26
        相关资源
        最近更新 更多