ORM: 8 funciones de Laravel Eloquent

orm

8 interesantes funciones de Laravel Eloquent (ORM)

ORM — En este artículo, queremos aprender más sobre 8 funciones de Laravel Eloquent y presentarlas.

Una de las preocupaciones de los desarrolladores es crear seguridad en las consultas, crear consultas complejas, acelerar el desarrollo cuando trabajan con bases de datos, cambiar más fácilmente entre diferentes bases de datos, etc. cuando usan la base de datos en sus aplicaciones.

Laravel usa una función llamada Eloquent para eliminar este problema. Eloquent es un mapeador relacional de objetos (ORM) que se incluye de forma predeterminada en el marco de Laravel. Eloquent facilita la tarea de interactuar con las tablas de la base de datos, proporcionando un enfoque orientado a objetos para insertar, actualizar y eliminar registros de la base de datos, al tiempo que proporciona una interfaz optimizada para ejecutar consultas SQL complejas.

En este artículo, queremos aprender más sobre 8 funciones de Laravel Eloquent y presentarlas. ¡Abróchate el cinturón de seguridad y prepárate para ir!


1- replicate

¿Cómo hace esto si desea copiar o simular un registro de base de datos? Para hacer esto, Laravel ha introducido una función llamada Replicar.

Con esta función, puede tomar una función y aplicarle los cambios que desee y luego guardarla.

Suponga que tiene un producto de la tienda y desea hacer una copia del mismo, cambiar su título, guardarlo y publicarlo.

Laravel replicar ORM

Este método de replicación es realmente útil para clonar o duplicar rápidamente un registro de la base de datos.


2- Uno de muchos

Supongamos que hay un modelo de usuario que tiene una relación de uno a muchos con el modelo de publicación. Ahora desea seleccionar la primera y la última publicación del usuario.

Puede usar el último de muchos y el más antiguo de muchos que proporciona Laravel para hacer esto.

Laravel ORM uno de muchos

La función LatestPost devuelve la última publicación enviada por el usuario. La función oldPost también devuelve la publicación más antigua enviada por el usuario en función de la clave principal del modelo. Pero es posible que desee recuperar un registro con condiciones especiales. Por ejemplo, para recuperar la publicación del usuario con más visitas, puede hacer lo siguiente:

Laravel ORM uno de muchos

notas: También puede aplicar un filtro al resultado utilizando una función de cierre.


3- reject

Esta función se utiliza para eliminar modelos en función de la condición deseada.

Por ejemplo, en el siguiente ejemplo, queremos eliminar los productos que tienen un precio superior a 200 de la colección.

orm
Laravel rechaza ORM

4- isDirty

El método isDirty determina si se ha cambiado algún atributo del modelo cuando se recupera.

También podemos pasar uno o más atributos a este método para verificar si se ha realizado un cambio.
La función isDirty() se usa después de llamar a un modelo y devuelve valores verdaderos o falsos que han cambiado y no han cambiado.

Por ejemplo, tenemos un modelo de publicación que queremos verificar si hay cambios.

orm
Laravel isDirty

5- truncate

Puede usar la función truncar para eliminar todos los datos relacionados con el modelo en la base de datos.

Post::truncate();

¡El comando anterior eliminará todos los datos de la tabla relacionados con el modelo Post!


6- is & isNot

Es posible que deba verificar si los dos modelos son iguales. Las funciones is y isNot pueden hacer esto por usted

orm
Laravel ORM is & isNot

7- withCount (Cuenta con relación)

Puede devolver el número de filas en una relación utilizando la función withCount.

Suponga que tiene un modelo de usuario que tiene una gran cantidad de mensajes. Puede devolver la cantidad de mensajes de un usuario con el comando withCount. Echa un vistazo al siguiente ejemplo:

orm
withCount Laravel ORM

8- withWhereHas()

El método que simplifica los casos en los que debe repetir el código utilizado para filtrar con whereHas y seleccionar el mismo registro mediante with()

(Esta función está disponible desde la versión 9.16.0 de Laravel en adelante)

orm


Si disfrutaste este artículo, comparte tu alegría conmigo haciendo clic en el botón de 👍.

Si le interesa, puede echar un vistazo a algunos de los otros artículos que he escrito recientemente sobre Laravel:

Recent Post