我想在登錄后顯示 domen url 用戶 id,例如 domen/specialist/id。已經是第 2 天了,它還沒有被接受。也許我做錯了什么請幫忙。這是我的 web.php 代碼 // Front End Routes Route::group([ 'namespace' => 'landing', 'middleware' => 'groups', ], function (){ Route::get('/', 'PagesController@index')->name('landing.index'); Route::get('/specialist/{id}', 'SpecialistDashboardController@dashboard')- >name('frontend.specialist.dashboard'); Route::get('/logout', '\App\Http\Controllers\Auth\LoginController@logout');});專家儀表板控制器代碼class SpecialistDashboardController extends Controller{ public function dashboard($id){ $id = Auth::user()->id; return view('Frontend.specialists.dashboard.index'); } public function profile_settings(){ return view('Frontend.specialists.profile_settings.index'); }}群組中間件 public function handle($request, Closure $next) { // ADMIN = 5 if (\Auth::check() && Auth::user()->groups == 5){ return $next($request); } // PATIENTS = 1 elseif(\Auth::check() && Auth::user()->groups == 1){ return redirect()->route('landing.index'); } // SPECIALISTS = 3 elseif (\Auth::check() && Auth::user()->groups == 3){ return redirect()->route('frontend.specialist.dashboard'); } }錯誤消息:缺少 [Route: frontend.specialist.dashboard] [URI: specialist/{id}] 所需的參數。
1 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
您的frontend.specialist.dashboard路線需要一個id參數,但您在重定向時沒有提供任何參數。同時查看您的SpecialistDashboardController,$id可以省略,因為您正在用 覆蓋它Auth::id()。
嘗試這樣做:
# remove the {id} param
Route::get('/specialist', 'SpecialistDashboardController@dashboard')-
>name('frontend.specialist.dashboard');
class SpecialistDashboardController extends Controller
{
...
public function dashboard(){ // remove the $id param
$id = Auth::user()->id;
return view('Frontend.specialists.dashboard.index');
}
...
}
但是如果在任何情況下你都需要 id 參數,你可以通過做重定向來提供它的值
return redirect()->route('frontend.specialist.dashboard', ['id' => $id]);
- 1 回答
- 0 關注
- 106 瀏覽
添加回答
舉報
0/150
提交
取消