Maîtrisez les 4 opérations fondamentales (Create, Read, Update, Delete) grâce à la syntaxe élégante et expressive d'Eloquent. Écrivez du code fluide, protégé nativement contre les injections SQL.
Insérez en une ligne avec Product::create([...]) ou instanciez puis appelez $product->save().
Recherche avec findOrFail(), conditions where(), tri latest() et pagination fluide paginate(15).
Mettez à jour les colonnes modifiées via $product->update([...]) avec détection automatique des attributs sales (dirty).
Suppression physique avec delete() ou temporaire dans une corbeille avec le trait SoftDeletes.
use AppModelsProduct;
// 1. CREATE : Insertion d'un nouvel enregistrement
$product = Product::create([
'name' => 'Clavier Mécanique RGB',
'slug' => 'clavier-mecanique-rgb',
'price' => 89.90,
'category_id' => 1,
'is_active' => true,
]);
// 2. READ : Recherches & Chaînage de requêtes fluides
// Récupérer un produit spécifique avec gestion 404 automatique :
$product = Product::findOrFail(42);
// Filtrer avec conditions multiples et pagination :
$articles = Product::where('is_active', true)
->where('price', '<=', 100)
->latest()
->paginate(12);
// 3. UPDATE : Mise à jour ciblée
$product = Product::findOrFail(42);
$product->update([
'price' => 79.90, // Le produit passe en solde
'stock' => 50,
]);
// 4. DELETE : Suppression sécurisée
$product = Product::findOrFail(42);
$product->delete();
// Ou suppression directe par identifiant(s) :
Product::destroy([42, 43]);Exécutez des opérations CRUD en temps réel sur une collection d'articles et examinez instantanément le code PHP Eloquent ainsi que la requête SQL préparée (PDO) équivalente.
| ID | Produit | Catégorie | Prix | Statut |
|---|---|---|---|---|
| #1 | Clavier Mécanique RGB | Informatique | 89.90 € | Actif |
| #2 | Souris Sans Fil Pro | Accessoires | 49.00 € | Actif |
| #3 | Casque Audio Studio | Audio | 129.50 € | Actif |
| #4 | Enceinte Portable Bass | Audio | 39.99 € | Actif |
| Méthode Eloquent | Comportement | Exemple Pratique |
|---|---|---|
findOrFail($id) | Trouve par clé primaire ou lève automatiquement une exception HTTP 404. | $post = Post::findOrFail($id); |
firstOrCreate([...]) | Recherche le premier enregistrement correspondant ou le crée s'il n'existe pas. | Tag::firstOrCreate(['name' => 'Laravel']); |
paginate($n) | Pagine automatiquement la requête et fournit les métadonnées de pagination. | Product::latest()->paginate(15); |
pluck('colonne') | Extrait une collection de valeurs scalaires d'une colonne précise. | User::pluck('email'); |
exists() / doesntExist() | Vérifie la présence d'au moins un résultat avec une requête ultra-légère SELECT 1. | if (Order::where('user_id', 1)->exists()) |