Requêtes Eloquent et API REST avec Laravel
1. Utilisation d'Eloquent dans des API RESTful
Laravel Eloquent est un ORM puissant qui simplifie l'accès à la base de données dans les applications Laravel, y compris les API RESTful.
Exemple : récupération de toutes les ressources.
// Récupérer tous les produits
$products = Product::all();
Cela récupère tous les produits de la base de données et les stocke dans la variable $products.
2. Gestion des Ressources et des Collections
Dans une API RESTful, chaque ressource est gérée par un contrôleur dédié, ce qui permet de traiter les requêtes HTTP appropriées.
Exemple : contrôleur pour gérer les produits.
class ProductController extends Controller {
public function index() {
// Récupérer tous les produits
$products = Product::all();
return response()->json($products);
}
public function show($id) {
// Récupérer un produit par son identifiant
$product = Product::findOrFail($id);
return response()->json($product);
}
}
Ce contrôleur définit deux méthodes : index() pour récupérer tous les produits et show() pour récupérer un produit spécifique par son identifiant.
3. Utilisation des Ressources Eloquent dans les Réponses
Les ressources Eloquent permettent de transformer les modèles en formats de réponse JSON spécifiques.
Exemple : transformation d'un modèle Product en ressource JSON.
class ProductResource extends JsonResource {
public function toArray($request) {
return [
'id' => $this->id,
'name' => $this->name,
'price' => $this->price,
];
}
}
Cela définit une transformation personnalisée pour le modèle Product, où seuls les attributs id, name et price sont inclus dans la réponse JSON.