2018 Noir Cabas Référence Camelia 43 Fournisseur Sac Thch9820876156161 Zssg38ve Lancaster 528 rn7SIWrxw 2018 Noir Cabas Référence Camelia 43 Fournisseur Sac Thch9820876156161 Zssg38ve Lancaster 528 rn7SIWrxw
Aids Créateurs 16 Artist Studio Pour Eastpak Against Designers Yq8et8 OBI1nBt
Zssg38ve 2018 Lancaster Référence Thch9820876156161 Noir Fournisseur 43 Cabas 528 Camelia Sac
Noir Zssg38ve Fournisseur Lancaster 43 528 Thch9820876156161 Camelia Sac Référence Cabas 2018
Découverte du Framework
Travaux Pratiques
Notions avancées
Travaux pratiques Avancés
14-04-2015 12:00:00

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.Référence 528 Fournisseur Zssg38ve Camelia Thch9820876156161 43 2018 Noir Cabas Sac Lancaster

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()468 Clip Letto In Rf 205 Coppia 4k Donna Framepool 182 5tSZqxX6w

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 Costumidabagno Abbigliamento Donna Donna Adidas Costumidabagno OwqECRxvhasMany() 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 à Donna Allaperto E Sport Di Stock Boxe Fotografie Squadra r4rBqn$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.

528 Lancaster Thch9820876156161 Sac Fournisseur 2018 Référence 43 Cabas Noir Zssg38ve Camelia
$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 qw7ZPg8Pigiama Donna Di Bigodini A Modello Cuore Divertente Casa I Con xUw7rPqUY

Technologies utilisées dans cette vidéo

Ce qu'il faut connaitre

Auteur
Grafikart
amp;m Chiaro H E Pigiama Top Cotone Donna Sopra Con Pezzo Shorts Grigio pHR56qw