【发布时间】:2021-05-18 13:22:50
【问题描述】:
在我的项目中,我有一条路线可以显示如下所示的主题。
Route::get('/voting-topics', [PublicTopicController::class, 'index'])->name('public-topics');
投票主题页面显示从我的数据库中提取的主题列表,这些主题被标记为公开。
我面临的问题是我还想为订阅者显示完整的主题列表。
目前,我正在为订阅者使用这条路线
Route::group(['middleware' => ['subscriber']], function () {
Route::get('/dashboard/topics', [MemberTopicController::class, 'topics'])->name('dashboard.topics');
});
我认为这不是最好的方法,我更希望将所有主题都放在 /topics 上,但只为没有订阅者显示公共主题。
我想我的问题是,如果用户是订阅者并执行类似操作,有没有办法检查我的路线。
if( subscriber()->user() ) {
Route::post('/topics', [TopicController::class, 'index'])->name('topics');
} else {
Route::post('/topics', [TopicController::class, 'publicTopic'])->name('topics');
}
【问题讨论】:
标签: laravel laravel-routing laravel-8