Laravel
Models Migration Relation
Introduction Installation Projet:Structure Strucutre,model,migration Migration,Models,Relation Artisan CLI Migrations:Exemples Models:Exemples Relations:Exemples 1 Relations:Exemples 2
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





Utilisation de DB::select dans Laravel

Utilisation de DB::select dans Laravel

1. Sélection de toutes les colonnes d'une table

Récupérer toutes les colonnes de la table 'users' :

$results = DB::select('SELECT * FROM users');

2. Sélection de certaines colonnes avec une condition WHERE

Récupérer les colonnes 'id' et 'name' des utilisateurs dont le statut est 'active' :

$results = DB::select('SELECT id, name FROM users WHERE status = ?', ['active']);

3. Utilisation de jointures pour récupérer des données de plusieurs tables

Récupérer le nom de l'utilisateur et le montant de la commande en utilisant une jointure entre 'users' et 'orders' :

$results = DB::select('SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id');

4. Utilisation de fonctions d'agrégation comme COUNT, SUM, AVG, etc.

Compter le nombre total d'utilisateurs :

$result = DB::select('SELECT COUNT(*) as total_users FROM users');

5. Utilisation de conditions avancées

Récupérer les produits dont le prix est compris entre 100 et 500 :

$results = DB::select('SELECT * FROM products WHERE price > :min_price AND price < :max_price', ['min_price' => 100, 'max_price' => 500]);

6. Utilisation de sous-requêtes

Récupérer les utilisateurs qui ont passé des commandes :

$results = DB::select('SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)');

7. Utilisation de clauses ORDER BY et LIMIT

Récupérer les 10 produits les plus chers :

$results = DB::select('SELECT * FROM products ORDER BY price DESC LIMIT 10');
Sélection de toutes les colonnes d'une table :
$results = DB::select('SELECT * FROM users');
Sélection de certaines colonnes avec une condition WHERE :
$results = DB::select('SELECT id, name FROM users WHERE status = ?', ['active']);
Utilisation de jointures pour récupérer des données de plusieurs tables :
$results = DB::select('SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id');
Utilisation de fonctions d'agrégation comme COUNT, SUM, AVG, etc. :
$result = DB::select('SELECT COUNT(*) as total_users FROM users');
Utilisation de conditions avancées :
$results = DB::select('SELECT * FROM products WHERE price > :min_price AND price < :max_price', ['min_price' => 100, 'max_price' => 500]);
Utilisation de sous-requêtes :
$results = DB::select('SELECT * FROM users WHERE id IN (SELECT user_id FROM orders)');
Utilisation de clauses ORDER BY et LIMIT :
$results = DB::select('SELECT * FROM products ORDER BY price DESC LIMIT 10');
Exécution de requêtes complexes et personnalisées pour des rapports ou des analyses spécifiques :
$results = DB::select('SELECT YEAR(created_at) as year, MONTH(created_at) as month, COUNT(*) as total_orders FROM orders GROUP BY YEAR(created_at), MONTH(created_at)');