Laravel 5.5 で手動ログイン機能を使用しています。ログインでスタックしてしまいました。すべての (関連する 5 つの) スタック リンクを確認しましたが、手がかりは見つかりませんでした。
達成とはユーザーが登録されると、そのユーザーは自動的にサインインします。
エラーは
「型エラー: Illuminate\Auth\SessionGuard::login() に渡された引数 1 は、インターフェイス Illuminate\Contracts\Auth\Authenticatable を実装する必要があります。文字列が指定され、Server/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php の 294 行目で呼び出されました ◀」
if ($validator->fails()) {
// $messages = $validator->messages();
return Redirect::to('register')
->withErrors($validator)
->withInput();
} else {
$email = Input::get('email');
$user = new user;
$user->name = Input::get('name');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->save();
// $userMail = $user->find($email);
$userMail = User::where('email','=',$email)->first();
Auth::login($userMail->email, TRUE);
何か間違ったことをしているのでしょうか。教えてください。
ベストアンサー1
ログイン関数にはタイプのユーザーが必要ですAuthenticatable
が、email
文字列が指定されているためこのエラーが発生します。Auth::loginUsingId($id);
$user = User::where('email','=',$email)->first();
Auth::loginUsingId($user->id, TRUE);
あるいは単に
Auth::login($user);