"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Premiers pas avec Laravel : guide du débutant sur le générateur de requêtes

Premiers pas avec Laravel : guide du débutant sur le générateur de requêtes

Publié le 2024-11-08
Parcourir:571

Getting Started with Laravel: A Beginner

Le Query Builder de Laravel fournit une interface puissante et fluide pour créer des requêtes SQL en PHP. Il vous permet d'interagir avec la base de données dans une syntaxe expressive de type SQL tout en éliminant l'essentiel de la complexité.

Nous passerons en revue un cas d'utilisation typique dans une application Laravel utilisant Query Builder pour diverses tâches telles que la sélection, l'insertion, la mise à jour et la suppression de données.


Étape 1 : Configurer le projet Laravel

Si vous n'avez pas de projet Laravel, vous pouvez en créer un comme suit :

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

Assurez-vous de configurer la configuration de votre base de données dans le fichier .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

Exécuter des migrations pour créer des tables par défaut :

php artisan migrate

Étape 2 : utiliser le générateur de requêtes dans un contrôleur

Créons un contrôleur pour démontrer l'utilisation de Query Builder :

php artisan make:controller UserController

Modifiez UserController.php avec le code suivant :

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!']);
    }
}

Étape 3 : Récupérer les données

Utilisez Query Builder pour sélectionner toutes les lignes de la table des utilisateurs :

$users = DB::table('users')->get();
  • Description:
    • La méthode DB::table('users') cible la table des utilisateurs.
    • La méthode get() récupère tous les enregistrements de cette table.

Exemple de réponse :

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

Étape 4 : Insérer des données

Insérer un nouvel utilisateur à l'aide de Query Builder :

DB::table('users')->insert([
    'name' => 'Alice',
    'email' => '[email protected]',
    'password' => bcrypt('password123'),
]);
  • Description:
    • La méthode insert() insère une nouvelle ligne dans la table des utilisateurs.
    • Les données sont transmises sous forme de tableau associatif où les clés correspondent aux noms de colonnes.

Cela ajoute un nouvel utilisateur à la table des utilisateurs.


Étape 5 : Mettre à jour les données

Pour mettre à jour un enregistrement existant, utilisez update() :

DB::table('users')
    ->where('id', 1)
    ->update([
        'name' => 'John Smith',
        'email' => '[email protected]'
    ]);
  • Description:
    • La clause Where() sélectionne la ligne avec l'identifiant = 1.
    • La méthode update() modifie les champs nom et email de la ligne sélectionnée.

Cela met à jour l'utilisateur avec l'ID 1 dans la table des utilisateurs.


Étape 6 : Supprimer les données

Pour supprimer un enregistrement de la base de données, utilisez delete() :

DB::table('users')->where('id', 2)->delete();
  • Description:
    • La clause Where() spécifie la condition pour sélectionner l'utilisateur avec l'ID 2.
    • La méthode delete() supprime la ligne correspondante de la table.

Cela supprime l'utilisateur avec l'ID 2.


Étape 7 : Filtrage avec Query Builder

Vous pouvez enchaîner des méthodes supplémentaires pour filtrer les données ou ajouter des conditions à la requête.

Exemple : Récupérer des utilisateurs avec une condition spécifique

$users = DB::table('users')
    ->where('email', 'like', '%example.com%')
    ->orderBy('name', 'asc')
    ->get();
  • Description:
    • La clause Where() ajoute une condition, récupérant les utilisateurs dont l'e-mail contient exemple.com.
    • La méthode orderBy() trie les utilisateurs par nom par ordre croissant.

Étape 8 : Pagination

Le générateur de requêtes de Laravel facilite la pagination des résultats.

$users = DB::table('users')->paginate(10);
  • Description:
    • La méthode paginate() divise les résultats en pages, affichant 10 résultats par page.

Étape 9 : Transactions

Utilisez les transactions de base de données pour garantir que plusieurs requêtes sont exécutées avec succès. Si une requête échoue, toutes les modifications sont annulées.

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
    ]);
});
  • Description:
    • La méthode transaction() garantit que les insertions dans la table des utilisateurs et des commandes sont exécutées avec succès. Si l’une ou l’autre échoue, les deux opérations seront annulées.

Étape 10 : Requêtes brutes

Si vous devez exécuter du SQL brut, le générateur de requêtes de Laravel le permet :

$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
  • Description:
    • La méthode select() peut être utilisée pour exécuter des requêtes SQL brutes.
    • Il utilise des instructions préparées (?) pour la sécurité, empêchant l'injection SQL.

Conclusion

Le générateur de requêtes de Laravel offre un moyen puissant et flexible d'interagir avec votre base de données, éliminant ainsi une grande partie de la complexité SQL. En décomposant chaque partie (récupération, insertion, mise à jour, suppression, filtrage, etc.), vous pouvez facilement gérer les interactions de votre base de données de manière propre et organisée.

Cet exemple fournit un guide de base sur Query Builder. Au fur et à mesure que votre application se développe, vous pouvez utiliser des fonctionnalités plus avancées telles que les jointures, les sous-requêtes et le chargement rapide avec Eloquent.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/mdarifulhaque/getting-started-with-laravel-a-beginners-guide-to-query-builder-j0i?1 En cas de violation, veuillez contacter study_golang@163 .com pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3