Query Builder

16/17

Lectura

Durante todo el curso hemos estado haciendo transacciones a la base de datos sin escribir ninguna línea de código SQL sobre nuestro ProjectController, hemos estado utilizando una sintaxis que construye las consultas, las inserciones, actualizaciones y eliminación de una manera más limpia y eficaz.

Esto es query builder, una interfaz que nos ofrece Laravel para escribir queries a la base de datos de una mejor forma y, por supuesto, también más seguro, pues nos protege de posibles ataques de SQL injection.

Este es el siguiente nivel de lo que deberías aprender en este camino con Laravel, estas son algunas de las sentencias más usadas con las que te encontrarás usando este “constructor de sentencias”:

Si no usas un modelo para acceder a la base de datos, con query builder igual puedes acceder directamente a una tabla (no es lo más recomendable), lo harías de esta forma:

DB::table('projects')->get();

El método get() será el que nos traiga la información en la mayoría de los casos, pero no es el único.

Podemos pedir solo el primer resultado de las condiciones de una búsqueda de esta forma:

DB::table('projects')->where('name', 'test')->first()

Existe también la forma de consultar directamente por la llave primaria de la tabla pasándola inmediatamente al método find():

DB::table('projects')->find(10);

También tienes la opción de traer solo una columna de una tabla:

DB::table('projects')->pluck('name');

Realmente son muchas las acciones que puedes realizar para “traducir” lo que harías con SQL en query builder, tienes todo lo que necesitas para que no tengas que volver a escribir código plano en tus consultas o sentencias.

Echa un vistazo a la documentación oficial, allí podrás encontrar todo lo que puedes hacer y cómo construir sentencias más óptimas, elegantes y seguras en Laravel.

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Si solo se desea traer dos columnas de la tabla …

$users = DB::table('users')->select('name', 'email as user_email')->get();

Sin duda query builder es una de las cosas geniales que tiene Laravel, tiene un arsenal de funciones para escribir cualquier consulta SQL desde PHP, es simplemente asombroso.

Genial 😃

Muy bien 😄

Muy útil! Gracias!

Por qué no es lo más recomendable usar query builder? Entiendo que es lo mismo en cuanto a funcionalidad.

Muy bueno!!!

Es una muy buena herramienta. Gracias.