質問: [ 'corp_cd', ]; で設定されていたので、Accountにも同じものを追加したところ ``` Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must be an instance of Illuminate\Contracts\Auth\Authenticatable, boolean given ``` となりました。 ⇒Illuminate\Foundation\Auth\Userを継承していないから使えない? AccountにもIlluminate\Foundation\Auth\Userを継承させた場合 ``` Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, boolean given ``` となりました。 ### 補足情報(FW/ツールのバージョンなど) ◆動作環境 ・Windows10 Pro 64bit ・Apache2.4 ・PHP7.1 ・Laravel5.5 ・MySQL5.7
回答: エラー文を確認して下さい。 ``` Type error: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must be an instance of Illuminate\Contracts\Auth\Authenticatable, boolean given ``` 認証に利用するモデルにはデフォルトとして作成してあるUserモデルが継承している、Illuminate\Foundation\Auth\UserにあるAuthenticatableContractインターフェイスの実装が必要です。 Laravelの認証のカスタマイズには、config/auth.php辺りのガード設定等が重要なので、カスタマイズの前にまずは、ログイン認証機能の理解を深めてみてください。 Laravel 5.5 認証 Laracast