"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Primeros pasos con Laravel: una guía para principiantes sobre el generador de consultas

Primeros pasos con Laravel: una guía para principiantes sobre el generador de consultas

Publicado el 2024-11-08
Navegar:198

Getting Started with Laravel: A Beginner

El Query Builder de Laravel proporciona una interfaz potente y fluida para crear consultas SQL en PHP. Le permite interactuar con la base de datos en una sintaxis expresiva similar a SQL mientras abstrae la mayor parte de la complejidad.

Analizaremos un caso de uso típico en una aplicación Laravel usando Query Builder para diversas tareas como seleccionar, insertar, actualizar y eliminar datos.


Paso 1: configurar el proyecto Laravel

Si no tienes un proyecto de Laravel, puedes configurar uno de la siguiente manera:

composer create-project --prefer-dist laravel/laravel laravel-query-builder
cd laravel-query-builder
php artisan serve

Asegúrese de configurar la configuración de su base de datos en el archivo .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Ejecutar migraciones para crear tablas predeterminadas:

php artisan migrate

Paso 2: utilizar el generador de consultas en un controlador

Creemos un controlador para demostrar el uso de Query Builder:

php artisan make:controller UserController

Edite UserController.php con el siguiente código:

get();

        return response()->json($users);
    }

    // Insert a new user
    public function store(Request $request)
    {
        // Step 4: Insert a new user
        DB::table('users')->insert([
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ]);

        return response()->json(['message' => 'User created successfully!']);
    }

    // Update an existing user
    public function update(Request $request, $id)
    {
        // Step 5: Update user by ID
        DB::table('users')
            ->where('id', $id)
            ->update([
                'name' => $request->name,
                'email' => $request->email,
            ]);

        return response()->json(['message' => 'User updated successfully!']);
    }

    // Delete a user
    public function destroy($id)
    {
        // Step 6: Delete user by ID
        DB::table('users')->where('id', $id)->delete();

        return response()->json(['message' => 'User deleted successfully!']);
    }
}

Paso 3: recuperar datos

Utilice Query Builder para seleccionar todas las filas de la tabla de usuarios:

$users = DB::table('users')->get();
  • Descripción:
    • El método DB::table('users') apunta a la tabla de usuarios.
    • El método get() recupera todos los registros de esa tabla.

Ejemplo de respuesta:

[
    {
        "id": 1,
        "name": "John Doe",
        "email": "[email protected]"
    },
    {
        "id": 2,
        "name": "Jane Doe",
        "email": "[email protected]"
    }
]

Paso 4: Insertar datos

Insertar un nuevo usuario usando Query Builder:

DB::table('users')->insert([
    'name' => 'Alice',
    'email' => '[email protected]',
    'password' => bcrypt('password123'),
]);
  • Descripción:
    • El método insert() inserta una nueva fila en la tabla de usuarios.
    • Los datos se pasan como una matriz asociativa donde las claves coinciden con los nombres de las columnas.

Esto agrega un nuevo usuario a la tabla de usuarios.


Paso 5: actualizar datos

Para actualizar un registro existente, utilice update():

DB::table('users')
    ->where('id', 1)
    ->update([
        'name' => 'John Smith',
        'email' => '[email protected]'
    ]);
  • Descripción:
    • La cláusula where() selecciona la fila con id = 1.
    • El método update() modifica los campos de nombre y correo electrónico de la fila seleccionada.

Esto actualiza el usuario con ID 1 en la tabla de usuarios.


Paso 6: eliminar datos

Para eliminar un registro de la base de datos, utilice eliminar():

DB::table('users')->where('id', 2)->delete();
  • Descripción:
    • La cláusula donde() especifica la condición para seleccionar el usuario con ID 2.
    • El método eliminar() elimina la fila coincidente de la tabla.

Esto elimina al usuario con ID 2.


Paso 7: Filtrar con Query Builder

Puedes encadenar métodos adicionales para filtrar los datos o agregar condiciones a la consulta.

Ejemplo: recuperar usuarios con una condición específica

$users = DB::table('users')
    ->where('email', 'like', '%example.com%')
    ->orderBy('name', 'asc')
    ->get();
  • Descripción:
    • La cláusula donde() agrega una condición, recuperando usuarios cuyo correo electrónico contiene ejemplo.com.
    • El método orderBy() ordena los usuarios por nombre en orden ascendente.

Paso 8: Paginación

El Generador de consultas de Laravel facilita la paginación de resultados.

$users = DB::table('users')->paginate(10);
  • Descripción:
    • El método paginate() divide los resultados en páginas, mostrando 10 resultados por página.

Paso 9: Transacciones

Utilice transacciones de bases de datos para garantizar que varias consultas se ejecuten correctamente. Si una consulta falla, todos los cambios se revierten.

DB::transaction(function () {
    DB::table('users')->insert([
        'name' => 'John Doe',
        'email' => '[email protected]',
        'password' => bcrypt('password123')
    ]);

    DB::table('orders')->insert([
        'user_id' => 1,
        'order_total' => 500
    ]);
});
  • Descripción:
    • El método de transacción() garantiza que tanto las inserciones de la tabla de usuarios como de pedidos se ejecuten correctamente. Si cualquiera de las dos falla, ambas operaciones se revertirán.

Paso 10: consultas sin procesar

Si necesita ejecutar SQL sin formato, el Generador de consultas de Laravel lo permite:

$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
  • Descripción:
    • El método select() se puede utilizar para ejecutar consultas SQL sin formato.
    • Utiliza declaraciones preparadas (?) por seguridad, evitando la inyección de SQL.

Conclusión

Query Builder de Laravel ofrece una forma poderosa y flexible de interactuar con su base de datos, abstrayendo gran parte de la complejidad de SQL. Al desglosar cada parte (recuperar, insertar, actualizar, eliminar, filtrar y más), puedes administrar fácilmente las interacciones de tu base de datos de una manera limpia y organizada.

Este ejemplo proporciona una guía básica para Query Builder. A medida que su aplicación crece, puede utilizar funciones más avanzadas como uniones, subconsultas y carga inmediata con Eloquent.

Declaración de liberación Este artículo se reproduce en: https://dev.to/mdarifulhaque/getting-started-with-laravel-a-beginners-guide-to-query-builder-j0i?1 Si hay alguna infracción, comuníquese con Study_golang@163 .com para eliminarlo
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3