Laravel
Models Migration Relation
Introduction Installation Projet:Structure Strucutre,model,migration Migration,Models,Relation Artisan CLI
Les Relations
BelongsTo HasOne HasMany BelongsToMany HasManyThrough
Exemples des Relations
Relations:oneToMany,ManyToMany... Relations:Exemples
Exercices
Exercice 1 Exercice 2
Controllers Views Routes
Routes,Controller,Model,view
Les Routes
Définir:Routes Routes avec Paramètres Routes nommées Groupes de routes
Les Controllers
Les Controllers Les Contrôleurs de Ressources
Les Vues
Vues et Blade Templates Blade Layouts et Sections Sous-vues Composants et Slots Contrôles de flux
MVC :CRUD
CRUD: Produit CRUD: Etudiant CRUD: Car CRUD,Recherche: Book
Validation
Exemple :Projets
ORM:Eloquent
Exemple :Transport
Api:Laravel +React
Middleware

Seeders & Factories
Exemples :EFM

Authenfication
TP:Schools Management
Authenfication:React
Layouts
Exercices





Laravel: Requêtes de base avec Eloquent

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.