En esta clase, entraremos de lleno a manipular los datos con Eloquent ORM utilizando la herramienta de Laravel Hugo. Con Laravel Hugo, veremos cómo crear, actualizar y eliminar registros utilizando Eloquent, y cómo aprovechar las relaciones definidas entre los modelos para gestionar las relación entre cada tabla.
¡Hola! ¡Bienvenidos al curso de Laravel Hugo!
¡Empecemos!
Iniciar Laravel Hugo
Iniciamos el programa de Laravel Hugo. Aquí es importante familiarizarse con el programa y sus tres áreas más importantes:
El menú vertical está ubicado en el lado izquierdo de la interfaz. Aquí seleccionamos la carpeta de la aplicación en la que realizaremos las pruebas. Esta sección es esencial para navegar entre los diferentes proyectos, asegurando que estamos trabajando en la aplicación correcta.
En el área del código (Color negro), introducimos el código que deseamos probar, ya sea utilizando Eloquent ORM o el Constructor de consultas SQL de Laravel (DB Query). Esta área está diseñada para facilitar la escritura y edición de código, proporcionando un entorno amigable para desarrollar y ajustar nuestras consultas. El botón que se encuentra en la parte superior permite enviar el código escrito y ejecutar las consultas.
En el área de los resultados (Color blanco) es donde se muestran los resultados obtenidos de la consulta en formato JSON. Esta visualización clara y estructurada facilita la evaluación de los datos obtenidos. Además, si se producen errores en las consultas, esta sección proporciona información detallada sobre los mismos, ayudando a identificar y corregir problemas.
Seleccionar el proyecto a realizar las pruebas
Antes de empezar a realizar las pruebas de la aplicación, lo primero es seleccionar el proyecto “Mascotas” en Laravel Hugo. Para ello, en el menú principal, hacemos clic en el ícono de “Casa” y seleccionamos la carpeta donde se encuentra nuestro proyecto. Esto nos asegura que todas las pruebas y consultas se realicen en el entorno correcto.
Utilizar Eloquent ORM, Primera forma
Empezaremos a realizar las pruebas de nuestra aplicación con Laravel Hugo. Iniciaremos por la creación, actualización y eliminación de registros en nuestra base de datos utilizando Eloquent ORM, lo cual nos permitirá verificar la correcta manipulación de datos en el sistema.
Crear registros
Comenzaremos insertando datos en la tabla “refugios” utilizando Laravel Hugo. Para ello, escribimos el siguiente código en Eloquent.
Ejecutamos el código Eloquent y obtendremos una respuesta igual a “1”, lo cual indica que el código se ejecutó correctamente.
Como podemos observar, los campos de dirección y teléfono no fueron llenados en este caso, ya que son datos opcionales. Por lo tanto, no es necesario incluirlos al crear un registro en la tabla “refugios”.
Insertamos un nuevo registro en la tabla “refugios”. Para esto no es necesario borrar el código anterior; simplemente modificamos los valores y añadimos los campos faltantes si el caso es necesario. Por ejemplo, para este nuevo registro, incluiremos los campos de dirección y teléfono.
use App\models\Refugio;
$refugio = new Refugio();
$refugio->nombre = "Refugio Segunda oportunidad";
$refugio->ciudad = "Santa Cruz - Bolivia";
$refugio->direccion = "Av. Los lirios #3333";
$refugio->telefono = "73882333432";
$refugio->encargado = "Martha Diaz";
$refugio->save();
Ejecutamos nuevamente el código para insertar el nuevo registro en la tabla “refugios”.
Errores en la ejecución
Cuando existen errores de sintaxis al ejecutar consultas Eloquent, Laravel Hugo muestra mensajes detallados en el área de resultados, indicando el tipo de error y su ubicación en el código. Estos mensajes de error proporcionan información precisa sobre qué parte de la consulta causó el problema, facilitando la identificación y corrección del error.
De forma similar muestra los errores en el caso de que falten campos requeridos al ejecutar la consulta. Esto facilita la identificación y corrección del problema, asegurando que todos los campos necesarios se proporcionen antes de volver a ejecutar la consulta.
Una vez corregidos todos los errores generados, procedemos a insertar un nuevo registro en la tabla “mascotas”.
Cuando se trabaja con una relación muchos a muchos, se utiliza una tabla pivote para gestionar la relación entre las dos tablas principales, en nuestro caso la tabla “mascotas” con la tabla “vacunas”. Para este propósito utilizaremos el método “attach” al insertar datos.
Cuando necesitamos añadir datos adicionales a la tabla pivote, podemos pasar un array con los valores adicionales, en nuestro ejemplo el campo “fecha”.
use App\models\Vacuna;
use App\models\Mascota;
$mascota= Mascota::find(1);
$vacuna = new Vacuna();
$vacuna->tipo = "Rabia canina";
$vacuna->precio = 10;
$vacuna->save();
$vacuna->mascotas()->attach($mascota->id, ['fecha' => '2024-07-30']);
Ejecutamos el código Eloquent.
Verificamos los registros en la tabla pivote para asegurarnos de que la asociación se realizó correctamente.
Actualizar registros
Ahora veremos la funcionalidad de actualizar registros, que nos permitirá actualizar los datos en la base de datos con los nuevos valores proporcionados.
Actualizaremos la información de la mascota “Nupi” utilizando el método “find” para localizar el registro específico que deseamos modificar. Luego, aplicamos los cambios necesarios a los atributos de la mascota.
Ejecutamos el código Eloquent para guardar los cambios realizados. Esta operación actualizará el registro en la base de datos con los nuevos valores proporcionados.
Eliminar registros
Ahora exploraremos la funcionalidad para eliminar registros, que nos permitirá eliminar datos específicos de la base de datos. Esta operación asegura que los registros obsoletos o no deseados se eliminen permanentemente, manteniendo así la integridad y relevancia de la información almacenada.
Eliminemos a la mascota “Rambo” utilizando el método “delete”.
Utilizar Eloquent ORM, Segunda forma
Con Eloquent ORM, podemos utilizar otra sintaxis intuitiva para realizar operaciones CRUD (crear, leer, actualizar y eliminar).
Crear registros
Comenzaremos con la creación de registros en la tabla “mascotas” de la base de datos.
En el caso que existan errores al ejecutar consultas Eloquent de igual forma Laravel Hugo muestra mensajes de error específicos en el área de resultados.
Una vez corregidos todos los errores generados, procedemos a ejecutar la consulta Eloquent para registrar un nuevo registro en la tabla “mascotas”.
De manera similar, crearemos nuevos registros en la tabla “personas”. En Laravel Hugo, escribimos la siguiente consulta para llevar a cabo esta operación.
De la misma forma, actualizaremos registros en la tabla «personas». Utilizamos el siguiente código de Eloquent en Laravel Hugo para modificar los datos existentes y reflejar los nuevos valores en la base de datos.
Ejecutamos el código Eloquent. para actualizar el registro correspondiente en la tabla “Personas”.
Eliminar registros
Por último, desarrollaremos el código Eloquent para eliminar registros, lo cual nos permitirá remover datos específicos de la base de datos. En nuestro ejemplo, eliminaremos el registro de la tabla “personas” con el Id igual a 2.
use App\models\Persona;
Persona::where('id', 2)->delete();
Ejecutamos el código Eloquent. para eliminar el registro correspondiente en la tabla “Personas”.
Manipular datos con Eloquent ORM en Laravel Hugo nos permite profundizar en las operaciones CRUD, abarcando desde la creación y actualización de registros hasta la eliminación de datos. Con Laravel Hugo, podemos visualizar y probar las consultas de Eloquent ORM de una manera más sencilla e intuitiva. Recuerda que estas consultas se utilizarán en todas las partes de tu aplicación para enviar y recibir información desde una interfaz de usuario.