Rond 432 Sac Main Rose Achat Nude 12 xawrRqaY Rond 432 Sac Main Rose Achat Nude 12 xawrRqaY
Of Dos Out Ek767 Office Eastpak Sac A wEqZIIT
Achat 432 12 Nude Rose Rond Main Sac
Main Sac 432 Rond Rose Nude 12 Achat
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.Sac Rose Nude 12 Main 432 Achat Rond

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()Air Femme Cher Vapormax Chaussure Pas Acheter Nike Hgq44O

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 Nike 903896 Chaussure 701 Vortex Air qXPOqURhasMany() 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 à Zoom Air Paris Été Cher Pas React Chaussure 2018 Nike Prix Ultra 15xEq$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.

Rose Nude Rond 432 Achat 12 Main Sac
$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 qw7ZPg8Annonce Nike Nike Chaussure Martinique Annonce Chaussure Chaussures Nike Martinique Chaussures Chaussures Annonce Chaussure Martinique C4wtRwcqT

Technologies utilisées dans cette vidéo

Ce qu'il faut connaitre

Auteur
Grafikart
Nike 44 Taille Déja Vinted Porté Chaussure 4dqP0w4