laravel

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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • 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

Entradas recientes

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

4 semanas hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace

Hacer pruebas en impresora térmica Bluetooth Android

Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…

2 meses hace

Limpiar clave PEM

Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…

2 meses hace

Foco con Telegram, apagador de 3 vías, relevador y ESP8266

Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…

2 meses hace

Esta web usa cookies.