Search code examples
laravellaravel-8laravel-authentication

"Column not found" when logging in to Laravel 8 application - assuming column "id" is missing?


I've been working on a Laravel 8 application, and recently I've been working on the security of the app. I've elected to authenticate users "manually" - as in not using the starter kits available - and have something where I can create a user and have them log in to the application.

The issue I'm having is that upon a successful log in attempt, I'm given the following error:

SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' (SQL: select * from users where `` = 11 limit 1)

This error occurs once the credentials have been matched to what's on the database. I'm assuming the unknown column is id given that the current user I'm trying to log in as has the id of 11, which would fit with the SQL query in the error.

The user table schema is as follows:

The user model is as follows:

<?php

/**
 * Created by Reliese Model.
 */

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;


/**
 * Class User
 * 
 * @property int $id
 * @property string $name
 * @property string $email
 * @property int|null $email_verified
 * @property string|null $password
 * @property bool $user_level
 * @property bool|null $is_active
 * @property bool|null $is_admin
 * @property int|null $created_at
 * @property bool|null $blocked
 * @property string|null $email_hash
 *
 * @package App\Models
 */
class User extends Model implements Authenticatable, HasMedia
{
    use InteractsWithMedia;
    protected $table = 'users';
    public $timestamps = false;
    protected $primaryKey = 'id';
    protected $username = 'email';

    protected $casts = [
        'email_verified' => 'int',
        'user_level' => 'bool',
        'is_active' => 'bool',
        'is_admin' => 'bool',
        'created_at' => 'int',
        'blocked' => 'bool'
    ];

    protected $hidden = [
        'password'
    ];

    protected $fillable = [
        'name',
        'email',
        'email_verified',
        'password',
        'user_level',
        'is_active',
        'is_admin',
        'blocked',
        'email_hash'
    ];

    public function registerMediaCollections() : void
    {
        $this->addMediaCollection('userCSCS')
            ->acceptsFile(function (File $file) {
                return $file->mimeType === 'image/jpeg';
            });
    }
    
    public function registerMediaConversions(Media $media = null): void
    {
        $this->addMediaConversion('thumb')
              ->width(368)
              ->height(232)
              ->sharpen(10);
    }

    public function getAuthIdentifierName() {
        return $this->email;
    }
    public function getAuthIdentifier() {
        return $this->id;
    }
    public function getAuthPassword() {
        return $this->password;
    }
    public function getRememberToken() {
        return $this->remember_token;
    }
    public function setRememberToken($value) {}
    public function getRememberTokenName() {}

}

The controller handling the logging in attempt is as follows:

<?php

namespace App\Http\Controllers;

use App\Models\User;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;

use Illuminate\Foundation\Auth\AuthenticatesUsers;

class LoginController extends Controller
{

    use AuthenticatesUsers;

    /**
     * Handle an authentication attempt.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function authenticate(Request $request)
    {
        $credentials = $request->only('email', 'password');

        if (Auth::attempt($credentials)) {
            $request->session()->regenerate();

            return redirect()->route('adminDashboard');
        }

        return back()->withErrors([
            'email' => 'The provided credentials do not match our records.',
        ]);
    }

}

The config\auth.php file is as follows (I've removed the comments for b:

<?php

return [

    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],

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

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'hash' => false,
        ],
    ],

    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
            'table' => 'users'  
        ],

        // 'users' => [
        //     'driver' => 'database',
        //     'table' => 'users',
        // ],
    ],

    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
            'throttle' => 60,
        ],
    ],

    'password_timeout' => 10800,

];

The two entries in the laravel.log file relating to this error:

[2021-05-24 19:13:19] local.ERROR: SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' (SQL: select * from `users` where `` = 11 limit 1) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' (SQL: select * from `users` where `` = 11 limit 1) at /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php:678)
[stacktrace]
#0 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(638): Illuminate\\Database\\Connection->runQueryCallback()
#1 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(346): Illuminate\\Database\\Connection->run()
#2 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2315): Illuminate\\Database\\Connection->select()
#3 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2303): Illuminate\\Database\\Query\\Builder->runSelect()
#4 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2867): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()
#5 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2304): Illuminate\\Database\\Query\\Builder->onceWithColumns()
#6 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(598): Illuminate\\Database\\Query\\Builder->get()
#7 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(582): Illuminate\\Database\\Eloquent\\Builder->getModels()
#8 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(254): Illuminate\\Database\\Eloquent\\Builder->get()
#9 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php(52): Illuminate\\Database\\Eloquent\\Builder->first()
#10 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(141): Illuminate\\Auth\\EloquentUserProvider->retrieveById()
#11 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(212): Illuminate\\Auth\\SessionGuard->user()
#12 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(213): Illuminate\\Auth\\SessionGuard->id()
#13 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(200): Illuminate\\Session\\DatabaseSessionHandler->userId()
#14 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(186): Illuminate\\Session\\DatabaseSessionHandler->addUserInformation()
#15 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Support/helpers.php(263): Illuminate\\Session\\DatabaseSessionHandler->Illuminate\\Session\\{closure}()
#16 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(188): tap()
#17 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(125): Illuminate\\Session\\DatabaseSessionHandler->getDefaultPayload()
#18 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Store.php(129): Illuminate\\Session\\DatabaseSessionHandler->write()
#19 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(236): Illuminate\\Session\\Store->save()
#20 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(130): Illuminate\\Session\\Middleware\\StartSession->saveSession()
#21 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#22 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#23 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#25 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#27 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then()
#29 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack()
#30 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute()
#31 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute()
#32 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch()
#33 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#34 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#36 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#37 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#39 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#40 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#42 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#44 /home/michael/Travis/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#46 /home/michael/Travis/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#48 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#49 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then()
#50 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#51 /home/michael/Travis/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#52 /home/michael/Travis/server.php(21): require_once('/home/michael/T...')
#53 {main}

[previous exception] [object] (PDOException(code: 42S22): SQLSTATE[42S22]: Column not found: 1054 Unknown column '' in 'where clause' at /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php:338)
[stacktrace]
#0 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(338): PDO->prepare()
#1 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(671): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}()
#2 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(638): Illuminate\\Database\\Connection->runQueryCallback()
#3 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Connection.php(346): Illuminate\\Database\\Connection->run()
#4 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2315): Illuminate\\Database\\Connection->select()
#5 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2303): Illuminate\\Database\\Query\\Builder->runSelect()
#6 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2867): Illuminate\\Database\\Query\\Builder->Illuminate\\Database\\Query\\{closure}()
#7 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2304): Illuminate\\Database\\Query\\Builder->onceWithColumns()
#8 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(598): Illuminate\\Database\\Query\\Builder->get()
#9 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(582): Illuminate\\Database\\Eloquent\\Builder->getModels()
#10 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(254): Illuminate\\Database\\Eloquent\\Builder->get()
#11 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/EloquentUserProvider.php(52): Illuminate\\Database\\Eloquent\\Builder->first()
#12 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(141): Illuminate\\Auth\\EloquentUserProvider->retrieveById()
#13 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Auth/SessionGuard.php(212): Illuminate\\Auth\\SessionGuard->user()
#14 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(213): Illuminate\\Auth\\SessionGuard->id()
#15 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(200): Illuminate\\Session\\DatabaseSessionHandler->userId()
#16 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(186): Illuminate\\Session\\DatabaseSessionHandler->addUserInformation()
#17 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Support/helpers.php(263): Illuminate\\Session\\DatabaseSessionHandler->Illuminate\\Session\\{closure}()
#18 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(188): tap()
#19 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php(125): Illuminate\\Session\\DatabaseSessionHandler->getDefaultPayload()
#20 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Store.php(129): Illuminate\\Session\\DatabaseSessionHandler->write()
#21 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(236): Illuminate\\Session\\Store->save()
#22 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(130): Illuminate\\Session\\Middleware\\StartSession->saveSession()
#23 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#24 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#25 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#27 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#29 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#30 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then()
#31 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack()
#32 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute()
#33 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute()
#34 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch()
#35 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#36 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#38 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#39 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#41 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#42 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#43 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#44 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#45 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#46 /home/michael/Travis/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#48 /home/michael/Travis/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#49 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#50 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#51 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then()
#52 /home/michael/Travis/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#53 /home/michael/Travis/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#54 /home/michael/Travis/server.php(21): require_once('/home/michael/T...')
#55 {main}
"} 

I'm stumped really with how to proceed, as it's a breaking bug and given that it's trying to build a query using nothing as a column (as it's unknown) is a weird issue and isn't one I'm able to set about fixing. So I would really appreciate some help!


Solution

  • The problem is caused by your implementation of the following methods:

    public function getAuthIdentifierName() {
        return $this->email;
    }
    public function getAuthIdentifier() {
        return $this->id;
    }
    public function getAuthPassword() {
        return $this->password;
    }
    public function getRememberToken() {
        return $this->remember_token;
    }
    public function setRememberToken($value) {}
    public function getRememberTokenName() {}
    

    Normally you don't need to implement them if you don't want the changes.

    And for example getAuthIdentifierName should be implemented like:

    return $this->getKeyName();
    

    what in fact does:

    return 'id';
    

    and you implemented it like:

    return $this->id;
    

    what in fact is empty when you don't have model retrieved from database.

    See Authenticatable trait for default implementation.