v2.5.2
Giriş yap

Laravel type error

isa
507 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Laravelda kullanıcı girişi yapmaya çalışıyorum. Fakat altaki hatayı aldım ve takılıp kaldım.
TypeError
Illuminate\Auth\SessionGuard::login(): Argument #1 ($user) must be of type Illuminate\Contracts\Auth\Authenticatable, stdClass given, called in C:\xampp\htdocs\appveweb\blog\vendor\laravel\framework\src\Illuminate\Auth\AuthManager.php on line 332

auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        'hash' => false,
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],

],

LoginController.php

    use App\Http\Controllers\Controller;
    use http\Client\Curl\User;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Auth;
    use Illuminate\Support\Facades\DB;
public function login(Request $request){

    $email=$request->email;
    $password=$request->password;
    $remember=$request->remember;
    
    
    //$user=User::where('email',$email)->first(); 
    //Bu kodu çalıştırdığımda http\Client\Curl\User bulunamadı diye hata alıyorum.
    
    
    $user=DB::table('users')->where('email',$email)->first();
    if ($user && sha1($password)===$user->password){
        
        Auth::login($user,true);
        return route('admin');
    }
    else{
        dd('Bilgiler Hatalı');
    }

}
Cevap yaz
Cevaplar (1)
isa
1216 gün önce

Şu şekilde değişiklik yaparak düzeltim
LoginController Sayfamda;

    use http\Client\Curl\User;

Komutunu şu şekilde değiştirdim;

    use App\Models\User;

Bu değişiklikten sonra $user değişkenimi şu şekilde değiştirdim

    $user=User::where('email',$email)->first(); 

Bu düzeltmleri yaptıktan sonra SQL hatası aldım user tablomda remember tokenin olmadığına dair. Şuanda kurduğum yapıda şifre sıfırlama işlemi olmayacak bunun için kaldırmıştım. Tekrar ekleyince sorunum çözüldü. Ama yukarıda Model kullanmadan yapıyordum neden hata aldığım halen anlayamadım.
users.table migration

    $table->id();
    $table->string('name');
    $table->string('last-name');
    $table->string('email')->unique();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps();