我想在用户登录后立即获取用户ID。我尝试使用请求获取用户ID,但无法正常工作。它显示以下错误:
“函数App \ Http \ Controllers \ Auth \ LoginController :: redirectTo()的参数太少,在C:\ Users \ owden \ Documents \ donation_system \ vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Auth中传递了0 \ RedirectsUsers.php,位于第15行,正好是2个预期值“
下面是我的LoginController.php。
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
class LoginController extends Controller
{
use AuthenticatesUsers;
protected function redirectTo(Request $request, $id)
{
if(Auth::user()->usertype == 'admin')
{
return 'dashboard';
}
elseif(Auth::user()->usertype == 'organization') {
$user = User::find($id);
return redirect ('/profile/{'.$id.'}');
}else{
return 'approval';
}
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
和路线:
Route::get('/profile', 'ProfilesController@index')->name('profile.show');
Route::get('/profile/{user}/edit', 'ProfilesController@edit')->name('profile.edit');
Route::patch('/profile/{user}', 'ProfilesController@update')->name('profile.update');