Grabar Datos Adicionales desde la Plantilla Register.blade.pgp en Laravel [SOLUCIONADO]

Manejando la plantilla register.blade.php de Laravel

Cuando trabajas con Laravel, te encuentra con la necesidad de grabar datos adicionales en el proceso de registro de usuarios. Por defecto, Laravel nos proporciona una plantilla de registro que empieza así:

        <!-- resources/views/auth/register.blade.php -->

        <form method="POST" action="/register">
        ...
        </form>
        

añadiendo campos adicionales al formulario

Para agregar datos extra a este formulario, solo necesitamos agregar los nuevos campos dentro de la etiqueta form. Por ejemplo:

        <form method="POST" action="/register">
            <!-- otros campos -->
            ...
            <div>
                <label for="phone">Teléfono</label>

                <input id="phone" type="text" name="phone" value="{{ old('phone') }}" required>
            </div>
            ...
        </form>
        

Modificando el controlador de registro

Para que el nuevo campo sea procesado, también debemos modificarel controlador de registro (RegisterController.php).

        protected function create(array $data)
        {
            return User::create([
                'name' => $data['name'],
                'email' => $data['email'],
                'password' => Hash::make($data['password']),
                'phone' => $data['phone'],
            ]);
        }
        

Migraciones y actualizaciones de la base de datos

Por último, debemos asegurarnos de que la base de datos puede almacenar la información. Esto lo logramos con las migraciones de Laravel.

        php artisan make:migration add_phone_to_users --table=users
        

Esta migración nos genera un archivo en la carpeta “database/migrations”. En este archivo añadiremos el nuevo campo.

        public function up()
        {
            Schema::table('users', function (Blueprint $table) {
                $table->string('phone')->after('password');
            });
        }
        
        public function down()
        {
            Schema::table('users', function (Blueprint $table) {
                $table->dropColumn('phone');
            });
        }
        

Con estas modificaciones a la plantilla register.blade.php y las respectivas actualizaciones realizadas en Laravel, podremos grabar datos adicionales con éxito durante el proceso de registro.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad