consulta a la ruta (Query Builder)

Created at: 2022-08-09 19:59:10 | Updated at: 2024-08-27 15:07:49

Route::get('/', function()
{
    $builds = DB::table('blogs')->where('frontpage', '1')
                                ->orderBy('id', 'desc')
                                ->paginate(20);
    return View::make('pages/home')->with('builds', $builds);
});

Es una forma fluida y expresiva de construir consultas SQL de manera programática, sin necesidad de escribir directamente las sentencias SQL. Esta técnica permite crear, leer, actualizar y eliminar registros en la base de datos utilizando un enfoque orientado a objetos y funciones proporcionadas por Laravel.

Desglose de la consulta

Veamos paso a paso lo que hace este código:

  1. Route::get('/', function() { ... });:
    • Aquí se define una ruta GET para la URL raíz (/) de la aplicación. Cuando un usuario accede a esta ruta, se ejecuta la función anónima que se pasa como segundo argumento.
  2. DB::table('blogs'):
    • Esto inicia una consulta a la tabla blogs usando el Query Builder de Laravel. El objeto DB es una fachada que proporciona acceso a la base de datos. table('blogs') especifica la tabla sobre la cual se va a ejecutar la consulta.
  3. ->where('frontpage', '1'):
    • Añade una cláusula WHERE a la consulta. Esto filtra los registros de la tabla blogs donde la columna frontpage tiene un valor de 1. En SQL equivalente, esto sería algo como SELECT * FROM blogs WHERE frontpage = 1.
  4. ->orderBy('id', 'desc'):
    • Añade una cláusula ORDER BY a la consulta para ordenar los resultados por la columna id en orden descendente (desc). Esto significa que los registros más recientes (por id) aparecerán primero.
  5. ->paginate(20):
    • Añade la paginación a la consulta. Este método divide los resultados en páginas, mostrando 20 registros por página. Laravel gestiona automáticamente la lógica de la paginación, incluyendo la generación de enlaces a las diferentes páginas de resultados.
  6. return View::make('pages/home')->with('builds', $builds);:
    • Finalmente, esta línea devuelve una vista llamada pages/home y le pasa los resultados de la consulta ($builds) a la vista como una variable llamada builds. Esta variable puede ser utilizada dentro de la vista para mostrar los datos recuperados de la base de datos.

¿Qué es el Query Builder?

El Query Builder es una poderosa herramienta en Laravel que permite construir consultas a la base de datos de forma fluida y programática. Algunas características principales del Query Builder incluyen:

Ejemplo equivalente en SQL

El código proporcionado en Laravel se traduciría a algo similar en SQL puro:

SELECT * FROM blogs
WHERE frontpage = 1
ORDER BY id DESC
LIMIT 20 OFFSET 0;

La cláusula LIMIT junto con OFFSET (manejada automáticamente por paginate) divide los resultados en páginas.

En resumen, el Query Builder de Laravel es una forma eficiente, segura y fácil de escribir consultas SQL en una aplicación PHP utilizando una sintaxis fluida y orientada a objetos.

No valid image directory found or the category is not valid for the gallery.

Back to Posts
consulta a la ruta (Query Builder)

Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.