0

I'm using Laravel 7 and Visual Code. My Logout Controller have a problem but the code work when i run. What's the problem?

<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class LogoutController extends Controller
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function __invoke(Request $request)
    {
        auth()->logout();
        return redirect('/');
    }
}

Error in my VSCode is

Undefined method 'logout'. intelephense(1013) [18,17]

Error Images

It's a bug? or my fault? Thanks

Syscall
  • 19,327
  • 10
  • 37
  • 52
renaldyks
  • 188
  • 1
  • 15
  • Without sharing more details, it's close to impossible to provide help – Nico Haase Oct 22 '21 at 07:24
  • Also, where did you define that method `auth()`? What does it return? I would assume that you are missing a proper type hint – Nico Haase Oct 22 '21 at 07:25
  • im using solution in here https://stackoverflow.com/questions/43087648/logging-out-via-a-link-in-laravel . They dont declare about auth( ) , It's a problem? – renaldyks Oct 22 '21 at 07:31
  • i remember, i dont use `php artisan make:auth` because i want to make my original controller, if i use it, i cannt make original controller – renaldyks Oct 22 '21 at 07:35

1 Answers1

0

I dont know about the error but i was fix it.

I change the code with

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class LogoutController extends Controller
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function __invoke(Request $request)
    {
        Auth::logout();
        return redirect('/');
    }

}

i assumed the code is false, and i was change it.

renaldyks
  • 188
  • 1
  • 15