PHP - Laravel 7 No puedo obtener el nombre mediante Auth::user()->username

 
Vista:
Imágen de perfil de Álvaro
Val: 65
Ha disminuido su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Laravel 7 No puedo obtener el nombre mediante Auth::user()->username

Publicado por Álvaro (22 intervenciones) el 26/06/2020 22:47:53
Buenos días/tardes/noches. Estoy realizando un pequeño proyecto usando Laravel, y con respecto al login he decidido usar lo que se conoce como 'custom login', ya que el que crea el framework me ocasionaba algún que otro fallo.

Es cuando el usuario hace el login donde aparece el problema. Cuando el usuario inicia sesión es redirigido al perfil, donde debería verse su nombre de usuario tanto en un card como en la barra de navegación, pero obtengo el siguiente error:



En el controlador uso la función Auth::attempt para comparar la información que se recibe del formulario de login con los datos que se encuentran en la base de datos, para comprobar si se encuentra registrado. Aquí tengo la función login del controlador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function login()
    {
        request()->validate([
            'email' => 'required',
            'password' => 'required'
        ]);
 
        $credentials = array(
            "email" => request("email"),
            "password" => request("password")
        );
 
        if (Auth::attempt($credentials)) {
            return Redirect::route('user.profile');
        }
 
        return Redirect::route('user.showLoginForm');
 
    }

También dejo la vista del perfil, para comprobar lo que hago:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div class="container">
 
        <div class="row pt-2">
            <div class="col-sm-12 justify-content-center">
                <div class="card">
                    <div class="card-header">
                        <h4>
                            Registro
                        </h4>
                    </div>
                    <div class="card-body">
 
                        <div class="form-group">
 
                            Este es el perfil de {{ Auth::user()->username }}
 
                        </div>
 
                    </div>
                </div>
            </div>
 
        </div>
 
    </div>

También dejo la migración de la tabla user:

1
2
3
4
5
6
7
8
9
10
11
12
Schema::create('users', function (Blueprint $table) {
            $table->engine = 'InnoDB';
 
            $table->string('username', 50);
            $table->string('email', 150);
            $table->string('password', 500);
            $table->string('profileImage', 500)->default(null);
            $table->boolean('admin')->default('0');
            $table->increments('ID');
 
            $table->unique('id', 'id');
        });
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder