Laravel: Requêtes de base avec Eloquent
Sélection de données
Eloquent permet de récupérer facilement des enregistrements depuis la base de données avec des méthodes simples et intuitives.
Récupérer tous les enregistrements
$posts = Post::all();
foreach ($posts as $post) {
echo $post->title;
}
Récupérer un enregistrement par son ID
$post = Post::find(1);
echo $post->title;
Récupérer des enregistrements avec des conditions
$posts = Post::where('status', 'published')->get();
foreach ($posts as $post) {
echo $post->title;
}
Récupérer le premier enregistrement correspondant à une condition
$post = Post::where('status', 'published')->first();
echo $post->title;
Insertion de données
Pour insérer un nouvel enregistrement dans la base de données, vous pouvez utiliser la méthode save()
sur une instance de votre modèle.
Exemple d'insertion :
$post = new Post;
$post->title = 'Mon Nouveau Post';
$post->content = 'Ceci est le contenu de mon nouveau post.';
$post->status = 'draft';
$post->save();
Mise à jour de données
Pour modifier un enregistrement existant, récupérez-le d'abord, modifiez les attributs, puis utilisez la méthode save()
.
Exemple de mise à jour :
$post = Post::find(1);
$post->title = 'Titre Modifié';
$post->content = 'Contenu modifié du post.';
$post->save();
Suppression de données
Pour supprimer un enregistrement, utilisez la méthode delete()
sur l'instance du modèle.
Exemple de suppression :
$post = Post::find(1);
$post->delete();
1. Récupérer tous les enregistrements
$users = User::all();
Récupère tous les enregistrements de la table des utilisateurs.
2. Récupérer un enregistrement par son identifiant
$user = User::find(1);
Récupère l'utilisateur avec l'identifiant 1.
3. Récupérer le premier enregistrement correspondant aux critères
$user = User::where('email', 'example@example.com')->first();
Récupère le premier utilisateur ayant l'adresse e-mail 'example@example.com'.
4. Récupérer une liste d'enregistrements avec des critères
$users = User::where('status', 'active')->get();
Récupère tous les utilisateurs dont le statut est 'active'.
5. Ajouter un nouvel enregistrement
$user = new User;
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->password = bcrypt('password');
$user->save();
Ajoute un nouvel utilisateur avec les informations fournies.
6. Mettre à jour un enregistrement existant
$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();
Met à jour le nom de l'utilisateur avec l'identifiant 1.
7. Supprimer un enregistrement
$user = User::find(1);
$user->delete();
Supprime l'utilisateur avec l'identifiant 1.
8. Compter le nombre d'enregistrements
$count = User::count();
Compte le nombre total d'utilisateurs.
9. Trier les enregistrements
$users = User::orderBy('name', 'asc')->get();
Récupère tous les utilisateurs triés par nom en ordre croissant.
10. Pagination
$users = User::paginate(10);
Récupère 10 utilisateurs par page.
11. Sélectionner des colonnes spécifiques
$users = User::select('name', 'email')->get();
Récupère uniquement les colonnes 'name' et 'email' des utilisateurs.
12. Utiliser les relations
$posts = User::find(1)->posts;
Récupère tous les articles (posts) de l'utilisateur avec l'identifiant 1.
13. Scope personnalisé
$users = User::active()->get();
Récupère tous les utilisateurs actifs en utilisant une méthode scope définie dans le modèle.
Conclusion
Laravel Eloquent simplifie les opérations de base de données avec des méthodes intuitives pour sélectionner, insérer, mettre à jour et supprimer des données. En utilisant ces opérations de base, vous pouvez facilement manipuler les données dans votre application Laravel.