我正在爲用戶和管理員構建一個API。Laravel不同的路由相同的控制器
在編輯用戶配置文件路由時遇到困難。
在管理路線我的用戶線路使用Route::resource('user', 'UserController')
我使用Route::get('profile', '[email protected]')
的show方法Laravel默認有
public function show($id)
{
}
它們之間的不同是管理員,我可以使用/id
但在用戶上我從中間件檢查他們的令牌併合並請求以獲得他們的user_id
,所以不需要API使用profile/{id}
。
問題是如何使用相同的方法,但有一個參數來填充和路線仍然/profile
?
我的一個解決方案是:
public function show($id){
if ($request->has('user_id')):
$id = $request->query('user_id');
endif;
}
它的工作,但是當我閱讀代碼,它是真正的冗餘總是檢查並更換ID。
我會完全使用不同的方法配置文件。例如,UserController @ showProfile。 – Amarnasan
是的,這是解決方案之一。但功能完全一樣。差別僅在於id。謝謝 – ssuhat
然後讓showProfile獲得該ID並呼叫顯示該ID。 – Amarnasan