お疲れ様です。
質問お願いします。
Laravel8でLaravel Breezeを使ってログイン機能や新規登録機能を実装したのですが、試しに新規登録したところ下記のようなエラーが出ました。
Argument 1 passed to Illuminate\Auth\SessionGuard::login() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\Models\User given, called in /work/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php on line 307
おそらく「User Modelに問題があるのかな?」と感じていますが、エラー文で検索しても良い解決策が見つからずに困っています。
下記はUser Model
のコードです。
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class User extends Model { use HasFactory; protected $guarded = ['id']; }
ちなみに、ログインしようとしても同じようなエラーが出ます。
詳しい方、ご教授お願いします。
エラー自体の意味は調べられたのでしょうか。
User Modelに問題があるとは書いてないように見受けられます。
正直どこに問題があるかがよく分からない状態です。
グーグルで意味を翻訳したところ、「Illuminate \ Auth \ SessionGuard :: login()に渡される引数1は、Illuminate \ Contracts \ Auth \ Authenticatableのインスタンス、指定されたApp \ Models \ Userのインスタンスである必要があり、/ work / vendor / laravel / framework / src / Illuminateで呼び出されます。 307行目の/Auth/AuthManager.php 」とでます。
上記の翻訳から、/Auth/AuthManager.phpの307行目に問題があるのかなと思っていたのですが、Lulucomから回答を頂いたのでまずはそれを試してみようと思います。
型の概念だと思います。
定義側が求めてる情報と実際に渡された情報の型が合致してないという意味で。
回答1件
あなたの回答
tips
プレビュー