如何解决令人困惑的Laravel路线
我有一个使用show方法的用户列表(具有许多角色),但我希望根据用户类型(目前有5种不同类型)使用不同的“个人资料”页面
我的UsersController的方法演示很好地显示了用户,但是我仍然使用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>
解决方法
我不知道我是否完全理解您的麻烦,但是取决于我阅读的内容,您是根据用户的访问级别尝试将用户重定向到其他页面。
所以这可能有帮助>>> https://laravel.com/docs/7.x/middleware
,据我所知,您不能使用中间件处理刀片
在回答您的问题时,请考虑user_type
列ID决定您的用户组
作为一种简单的方法,为您的每个小组创建刀片,并将其返回到控制器中
function profile(){
return view($user->user_type);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。