Laravel 手動ログイン機能 質問する

Laravel 手動ログイン機能 質問する

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);

おすすめ記事