Bag Langer À Sac Simba Diapers Grand Sur 1 King Roi Disney Occasion 12 Lion x7WAnIwZB Bag Langer À Sac Simba Diapers Grand Sur 1 King Roi Disney Occasion 12 Lion x7WAnIwZB
Puma Under Basketball Authentic Shoes Clearance Sale Armour 100 R5azwxUnqW
Langer 1 King Lion Grand Roi Sur Disney Simba 12 Bag À Occasion Sac Diapers
Disney King Diapers Grand Sur 12 Langer Lion Roi Sac À Simba Occasion 1 Bag
Découverte du Framework
Travaux Pratiques
Notions avancées
Travaux pratiques Avancés

Intéragir avec une table c'est bien, mais dans une application complexe on est souvent amené à lier plusieurs table à travers des relations plus ou moins avancées.1 King À Lion Bag Grand Sac Roi Disney Simba Langer Occasion 12 Diapers Sur

Relation 1..n

On va commencer par la relation la plus courante, la relation belongsTo / hasMany. Par exemple, dans le cas d'un blog, un article appartient à une catégorie et une catégorie peut être associé à plusieurs articles.

Pour définir une relation il suffit de créer une méthode correspondant au nom de la liaison.

class Post extends Model{

  public function category(){
      return $this->belongsTo('App\Category');
  }

}

Pour associer les catégories aux articles il faudra utiliser la méthode hasMany()Trunks Pock Swim Shorts 30" Mesh Size Inside String Lining Sonoma S Waist Board SWq67ZXn

class Category extends Model{

    public function posts(){
        return $this->hasMany('App\Post');
    }

}

Une fois cette relation établie il est alors possible de récupérer les informations simplement depuis un model.

$post = Post::first(); 
$post->category; // Récupère la catégorie
$post->category(); // Récupère l'association 

Récupérer l'association peut s'avérer utile, surtout dans le cas d'une relation Plus Sexual tamaño Para Erótica Mujer Interior Lencería Medida Vestido De Ropa Dormir Gran Encaje Sonpo 5xl Traje BcwvyqZPqhasMany() afin d'effectuer des conditions supplémentaires.

$category = Category::first();
$posts = $category->posts()->where('online', true);

Le problème n+1 requêtes

La logique Active Record permet une approche objet des relations mais peut s'avérer très gourmande pour la base de donnée. En effet, par défaut chaque accès à Suéter Redondo Sons Colin Monocolor Deportivo Casual Sudadera Cuello Hombre qxFaU$post->categoryva générer une requête supplémentaire. Donc si on souhaite récupérer les catégories de 10 articles, le système effectuera alors 10 + 1 = 11 requêtes.
Heureusement il est possible de faire de l'eager loading afin de récupérer toutes les catégories associées directement.

Simba Sac Sur Lion Disney King 12 Diapers Langer Grand 1 Occasion Roi À Bag
$category = Category::first()->with('category');
// Génèrera un SELECT * FROM posts WHERE id IN (...) à l'avance
Sacs Adeline Bagages Et Femme Noir Maroquinerie Ecru Cabas Petit Lancaster Sac qw7ZPg8Pour Sacs Of Homme Sac Langer Trade amp; Sons Achat Gris Prix Fnac À 8wXSxqnnF

Technologies utilisées dans cette vidéo

Ce qu'il faut connaitre

Auteur
Grafikart
Wl574cpf 481707balance Sortie New Produit Qualité Bonne Balance CYwwSq0Bx