El constructor de consultas SQL en Laravel ofrece la posibilidad de crear consultas SQL sin depender de Eloquent ORM. Esto habilita la ejecución de consultas como visualizar, insertar, actualizar y eliminar registros en la base de datos, proporcionando una alternativa directa para la manipulación de datos.
¡Hola! ¿Qué tal? ¡Bienvenidos! Continuando con el curso de Laravel, hoy veremos el constructor de consultas SQL en Laravel.
¡Empecemos!
Iniciar Tinker desde la Terminal
Para iniciar Tinker ejecutamos el siguiente comando desde la Terminal.
php artisan tinker
Al ejecutar este comando, se desplegará la consola de Tinker, donde ya podemos empezar a interactuar con nuestra aplicación.
Ahora, veremos cómo actualizar registros de una tabla de nuestra base de datos. Haremos uso del método «update» que nos brinda la capacidad de modificar los datos de un registro en particular.
Actualizaremos la información de la profesora “Karla Mercedez Sossa” de la siguiente manera:
DB::table('profesores')->where('id', '=', 2)->update(['nombre_apellido' => 'Karla Ana Mercedez Sossa ']);
De manera similar podemos actualizar los datos de las tablas “alumnos” y “cursos”.
Eliminar registros de la base de datos
Para eliminar un registro de una tabla de nuestra base de datos, utilizaremos el método “delete”, En este caso eliminaremos el registro de la tabla “profesores” con Id igual a 3.
De manera similar podemos eliminar los datos de las tablas “alumnos” y “cursos”.
Consultas de selección
Para llevar a cabo consultas de selección, empleamos la clase ‘DB’ de Laravel. Utilizaremos comandos como ‘select’, ‘where’, ‘get’, ‘join’, entre otros, para recuperar la información deseada de la base de datos. Por ejemplo, quiero listar a todos los alumnos mayores de 20 años.
Además, podemos realizar consultas más complejas que involucran más de una tabla. Por ejemplo, obtener todos los cursos que está dictando el profesor “Juan Daniel Suarez Matos”.
Por último, veamos otro ejemplo que involucra esta vez a las tres tablas, cómo obtener los cursos y con qué profesores está inscrito el alumno “Maria de los Angeles”.
DB::table(alumnos)
->select('alumnos.nombre_apellido', 'profesores.nombre_apellido as profesor', 'profesores.profesion', 'cursos.materia as curso', 'cursos.nivel')
->join('alumno_curso', 'alumnos.id', '=', 'alumno_curso.alumno_id')
->join('cursos', 'cursos.id', '=', 'alumno_curso.curso_id')
->join('profesores', 'profesores.id', '=', 'cursos.profesor_id')
->where('alumnos.nombre_apellido', '=', 'Maria de los Angeles')
->get();
Así concluye la clase sobre constructor de consultas SQL en Laravel. Si tienes preguntas, déjanos un comentario o escríbenos a nuestro correo electrónico en Norvic Software. En la próxima clase, veremos el concepto de Seeder en Laravel. ¡Hasta la siguiente clase!
Saludos y éxitos.
Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.