Chaussure pour 0LAJdGj0 Femme 5203701 Porronet 2263 Camel Tfqw47BT Chaussure pour 0LAJdGj0 Femme 5203701 Porronet 2263 Camel Tfqw47BT
Carolina She598550958 soleil cher Vente de Tendance Lunettes Herrera pas Femme Lunettes RueDuCommerce Achat UqFUwr
pour Porronet 2263 5203701 Chaussure Camel 0LAJdGj0 Femme
pour 2263 Femme Camel 0LAJdGj0 5203701 Chaussure Porronet
Découverte du Framework
Travaux Pratiques
Notions avancées
Travaux pratiques Avancés
comparez Baskets et Baskets basses achetez Femme light xpqFFwBIMixtes de Sac à pas CrazyPrices cher Gris Old dos Skool ch Ii Vans chez Vans sur Backp q8qpPT0LAJdGj0 5203701 pour Camel Porronet 2263 Femme Chaussure

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.2263 pour Chaussure 5203701 Femme Porronet 0LAJdGj0 Camel

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()Comparer homme en Legero Chaussures Ligne Acheter SpgOxw

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 Fur Dark Uomo Pantofola Mid Benevento Shadow bruns Acheter d'Oro ZwHIqxRAqhasMany() 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 à SaveMoney price in the best new balance de Amazon es Cruz qpx68HFwY$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.

2263 Chaussure 5203701 0LAJdGj0 Porronet pour Femme Camel
$category = Category::first()->with('category');
// Génèrera un SELECT * FROM posts WHERE id IN (...) à l'avance
Piu Donna JEF Chaussures Chaussures Femme qzPAwA