Eliminación de modelos en Eloquent
Comprar curso

7. Eliminación de modelos en Eloquent

Eliminar modelos es una tarea importante cuando trabajas con Eloquent. En este módulo, aprenderás cómo eliminar modelos utilizando Eloquent, y cómo puedes asegurarte de que tus datos estén seguros durante el proceso de eliminación.


6 comentarios

Inicia sesión para comentar

Comentarios:

  • Victor Arana Flores

    Victor Arana Flores hace 1 año Destacado

    Eliminar modelos es una tarea importante cuando trabajas con Eloquent en Laravel. En este módulo, aprenderás cómo eliminar modelos utilizando Eloquent y cómo puedes asegurarte de que tus datos estén seguros durante el proceso de eliminación.

    Para eliminar un modelo utilizando Eloquent, puedes llamar al método delete() en una instancia del modelo que deseas eliminar. Por ejemplo, si deseas eliminar un usuario con la clave primaria de 1, puedes hacer lo siguiente:

    $user = User::find(1);
    $user->delete();

    Este código recuperará el usuario con la clave primaria de 1 y luego lo eliminará de la base de datos utilizando el método delete().

    Es importante tener en cuenta que cuando se elimina un modelo utilizando Eloquent, también se eliminan automáticamente los registros relacionados en las tablas relacionadas mediante claves foráneas. Por lo tanto, es importante asegurarse de que los datos relacionados estén seguros antes de eliminar un modelo.

    Para asegurarte de que los datos relacionados estén seguros, Laravel proporciona la función de eliminación en cascada (cascade delete), que te permite especificar cómo deben tratarse los registros relacionados cuando se elimina un modelo. Puedes especificar la eliminación en cascada en tus relaciones utilizando el método onDelete('cascade'). Por ejemplo, si tienes una relación entre usuarios y sus publicaciones y deseas eliminar todas las publicaciones de un usuario cuando se elimina el usuario, puedes hacer lo siguiente:

    class User extends Model
    {
       public function posts()
       {
           return $this->hasMany(Post::class)->onDelete('cascade');
       }
    }

    Con la eliminación en cascada configurada, al eliminar un usuario utilizando Eloquent, se eliminarán automáticamente todas las publicaciones asociadas al usuario.

    En resumen, eliminar modelos es una tarea importante cuando trabajas con Eloquent en Laravel. Para eliminar un modelo, llama al método delete() en una instancia del modelo. Asegúrate de que los datos relacionados estén seguros utilizando la eliminación en cascada en tus relaciones.

  • Walter Ramos

    Walter Ramos hace 1 año

    Victor, tengo una consulta. Si uso soft delete, y quiero validar que un registro no exista, es decir que sea unico en su columna email por ejemplo, como hago que esa validacion NO tenga en cuenta los registros eliminados? como ignoro los registros donde deleted_at no es null?

  • Angel David Velasco Bonifaz

    Angel David Velasco Bonifaz hace 1 año

    Una duda, tiene algun tiempo limite la informacion al aparecer en la papelera? o es hasta forzar la eliminacion?

    • Victor Arana Flores hace 1 año

      Tu eres el que lo controla. SI quieres que se elimine cada cierto tiempo vas a tener que crear una tarea programada.

  • Diego Jimenez

    Diego Jimenez hace 1 año

    Buen día, disculpa se que la idea de este curso esta  orientado a eloquent como tal, pero en un futuro podría realizar un curso solamente de backend en donde se puede usar jobs, queue, notificaciones y schedule

  • Julian Alzate

    Julian Alzate hace 1 año

    hola victor, en este caso sería bueno tener acceso al github del proyecto para poder revisar el código de este 

    • Victor Arana Flores hace 1 año

      Pense que lo había puesto, disculpa.

      Lamentablemente por el momento no voy a poder subirlo. Me encuentro fuera de Lima (mi ciudad de origen) y por tanto no tengo acceso en este momento a la computadora en el que grabe el curso, y lamentablemente regresaré a Lima recien para quincena de noviembre. Ni bien llegue a Lima, subire el repositorio.

  • Vicente Blanquet

    Vicente Blanquet hace 1 año

    En el capitulo 4 pregunte sobre la creación de las tablas y carga de registros. Veo que en este es cuando se muestra la migración y se dice que los registros se cargan con un Seeder. Creo que sería conveniente incluirlo en el capitulo, en lugar de dar las tablas como recursos del capitulo.

    • Victor Arana Flores hace 1 año

      Hola Vicente, gracias por la sugerencia. Hoy mismo creo el video en el que explico de donde salen esos datos :D