En este post te mostraré cómo puedes agregar campos de la tabla “users” en Laravel para así poder añadir algunos campos al modelo User. Explicado con otras palabras vamos a modificar la tabla de usuarios.
Con este modelo me refiero al usuario que se usa para iniciar sesión y en general hacer la autenticación en Laravel. Veremos cómo agregar otro campo además de los que ya existen.
Comencemos modificando la tabla, y para ello vamos a crear una migración. En mi caso agregué a mis usuarios un campo llamado “Nombre del establecimiento” por lo que generé la migración así:
php artisan make:migration AgregarNombreEstablecimientoAUsuarios --table=users
No olvides especificar el nombre de la tabla que en este caso es users. Ya dentro de la migración, agregué la columna y le coloqué un valor por defecto. Se ve así:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AgregarNombreEstablecimientoAUsuarios extends Migration
{
/**
* Run the migrations.
*
* @return void
*/ public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->string("nombre_establecimiento")->default("");
});
}
/**
* Reverse the migrations.
*
* @return void
*/ public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn("nombre_establecimiento");
});
}
}
Ahora migramos con php artisan migrate
y nuestra tabla de usuarios debería estar modificada.
La tabla de usuarios de Laravel ya está modificada, ahora falta modificar el modelo. Vamos a modificar sus fillables para que así podamos enviarle los valores desde el formulario.
Abrimos app\User.php
y en fillables
agregamos la propiedad recién agregada a la tabla. En mi caso queda así:
<?php
protected $fillable = [
'name', 'email', 'password', 'nombre_establecimiento',
];
Con eso es suficiente; ahora si usas los controladores resource y los fillables, solo es cuestión de enviar también el campo nombre_establecimiento
al registrar al usuario. Te mostraré un ejemplo.
En mi caso utilizo fillables y resources para hacer el desarrollo más rápido. Sé que son cosas distintas, pero en conjunto ahorran bastante código. Ahora bien, solo hay que agregar el campo por ejemplo al registrar:
<div class="form-group">
<label class="label">Nombre establecimiento</label>
<input required autocomplete="off" name="nombre_establecimiento" class="form-control"
type="text" placeholder="Nombre establecimiento">
</div>
Con eso estaría llenándose el modelo y guardándose con el dato recién añadido.
Por cierto, si obtienes todos los usuarios con User::all()
ya puedes acceder e imprimir la propiedad nombre_establecimiento
o como se llame la propiedad que agregaste.
¿Te gusta Laravel? mira más tutoriales en mi blog.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.