Curso de Laravel Gohu

Eloquent ORM para crear, editar y eliminar registros con Laravel Gohu

Por Víctor Peña · Actualizado el

En esta oportunidad aprenderemos a utilizar Eloquent ORM para crear, editar y eliminar registros con Laravel Gohu. Estas operaciones, conocidas como CRUD —crear, leer, actualizar y eliminar—, son la base de la manipulación de datos en cualquier aplicación. Con Laravel Gohu podremos ejecutar cada operación y confirmar su resultado al instante en formato JSON.

¡Hola! ¡Bienvenidos al curso de Laravel Gohu!

¡Empecemos!

Información. La forma de escribir tus consultas Eloquent es la misma de siempre; solo cambia dónde las ejecutas: ahora dentro de VS Code.

Preparar el entorno de Laravel Gohu

Abre el panel de Laravel Gohu desde la paleta de comandos, selecciona el proyecto Mascotas con el ícono de carpeta y asegúrate de que el indicador de estado esté en verde antes de comenzar.

Crear registros

Para crear un registro, la primera forma consiste en instanciar el modelo, asignar sus atributos y llamar al método save(). Insertemos un nuevo refugio:

use App\Models\Refugio;

$refugio = new Refugio();
$refugio->nombre = "Refugio Patitas negras";
$refugio->ciudad = "Lima - Peru";
$refugio->encargado = "Daniel Gonzales";
$refugio->save();

Ejecutamos el código y obtendremos una respuesta que confirma la operación —el resultado mostrará true en el JSON—, lo cual indica que el registro se creó correctamente.

La segunda forma, más directa, utiliza el método create() pasando un arreglo con los datos. Registremos una nueva mascota:

use App\Models\Mascota;

Mascota::create([
    'nombre' => 'Dalton',
    'codigo' => '333444555',
    'tipo' => 'Perro',
    'raza' => 'Bulldog',
    'color' => 'Blanco con negro',
    'refugio_id' => 2,
]);

Información. Para usar el método create(), recuerda que los campos deben estar declarados en la propiedad $fillable del modelo. De lo contrario, Laravel Gohu mostrará un error de asignación masiva en el área de resultados.

Editar registros

Para actualizar un registro, primero lo localizamos con find() y luego modificamos sus atributos, guardando los cambios con save(). Actualicemos la información de la mascota con id igual a 1:

use App\Models\Mascota;

$mascota = Mascota::find(1);
$mascota->nombre = "Nupi";
$mascota->color = "Cafe Claro";
$mascota->save();

También podemos actualizar uno o varios registros que cumplan una condición, utilizando update() directamente sobre la consulta:

use App\Models\Persona;

Persona::where('id', 1)->update([
    'nombre' => 'Milton Carranza Ortega',
    'telefono' => '777778888',
    'direccion' => 'Av. America',
]);

Ejecutamos el código y el resultado nos indicará la cantidad de registros afectados.

Eliminar registros

Para eliminar un registro lo localizamos y aplicamos el método delete(). Eliminemos la mascota con id igual a 2:

use App\Models\Mascota;

$mascota = Mascota::find(2);
$mascota->delete();

De forma similar, podemos eliminar los registros que cumplan una condición directamente sobre la consulta:

use App\Models\Persona;

Persona::where('id', 2)->delete();

Advertencia. La eliminación de registros es una operación permanente. Asegúrate de aplicar siempre una condición con where() o de localizar el registro correcto con find() antes de ejecutar un delete(), para no borrar datos que no deseas.

Para cerrar

Utilizar Eloquent ORM para crear, editar y eliminar registros con Laravel Gohu nos permite probar y validar todas las operaciones CRUD de una manera visual e intuitiva, directamente desde Visual Studio Code. Estas operaciones son las que darán vida a tu aplicación al enviar y recibir información desde la interfaz de usuario.

Con esta lección cerramos el recorrido por las consultas. En la última lección veremos el error de rendimiento más común al trabajar con relaciones: el problema N+1.

Saludos y éxitos.

Norvic Software

Desarrollamos el software que tu empresa necesita

Somos una fábrica de software en Bolivia. Construimos sistemas a medida y aplicaciones móviles, y llevamos Inteligencia Artificial a las empresas que ya tienen un sistema funcionando.

Solicitar cotizaciónVer todos los servicios

Cotización sin costo · Respuesta directa por WhatsApp