Laravel: Obtener id de último elemento insertado con Eloquent

En este artículo voy a explicar cómo obtener el id del último elemento insertado en una tabla (en mi caso lo hice con una base de datos de MySQL pero debería funcionar en otros motores)  a través de Eloquent, usando el framework Laravel.

Obtener el último id insertado sirve cuando tenemos relaciones en nuestras bases de datos, y para crear la relación correcta necesitamos saber cuál es el id del elemento que acabamos de insertar.

Nota: ya hicimos esto con CodeIgniter.

Último ID de tabla con Eloquent y Laravel

Normalmente en Laravel definimos nuestros modelos de Eloquent y los guardamos usando el método save,

Laravel va a guardar nuestro modelo pero además de eso va a refrescarlo, poniéndole todos los datos recién guardados; por lo que si queremos acceder al id simplemente tenemos que acceder a la propiedad. Veamos:

<?php

namespace App\Http\Controllers;

use App\Area; # Nuestro modelo
class AreasController extends Controller
{
    public function agregar(GuardarArea $peticion)
    {
        $area = new Area; # Crear nuevo modelo
        # Ponerle los datos para guardar
        $area->nombre = $peticion->nombre; 
        # Guardar en BD
        $area->save();
        # ==================================
        # Aquí tenemos el id recién guardado :)
        # ==================================
        $idAreaRecienGuardada = $area->id;
        # Y podemos obtener cualquier propiedad, pues está refrescado
        # Aquí ya puedes hacer lo que quieras con el id
    }
}

En mi código, después de llamar a save accedo a la propiedad id del modelo, la cual será la que tiene la base de datos.

Esto supone que tu campo autoincrementable se llama id, si no se llama así, simplemente accede a otra propiedad y listo. Claro está que también puedes acceder a cualquier propiedad del modelo.

Con eso terminamos por hoy. Lee más sobre PHP, Laravel o la web.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

1 comentario en “Laravel: Obtener id de último elemento insertado con Eloquent”

  1. Hermano… UN MILLÓN DE GRACIAS!!!
    Tenía más de 3 horas buscando cómo encontrar ese valor porque estoy creando el usuario, pero al mismo tiempo estoy llenado una segunda tabla (estudiantes).
    Me has salvado bro. Bendiciones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *