Escarpins Marron Geox Plateau Brown Femme D C Inspiration Acheter S4HwAqA Escarpins Marron Geox Plateau Brown Femme D C Inspiration Acheter S4HwAqA
Vert Basses Homme EU Petrol Sneakers 43 s Oliver 14604 vgxwB66C
Geox Brown Acheter Marron Inspiration D C Plateau Escarpins Femme
Marron Brown Geox Femme Acheter Inspiration C Plateau Escarpins D
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 q8qpPTD Acheter Plateau Geox Femme Escarpins C Inspiration Marron Brown

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.Marron D Inspiration Geox Acheter C Brown Escarpins Femme Plateau

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()Huarache 833292 003 Ultra Air pour Gris Breathe Nike Chaussure Femme S5BqZ

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 HommeBleuBlau EU Basses Sneakers 43 NavyGrey Kunzo EXaRgxqwhasMany() 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 à GEL Jaune Femme LIMELIGHTLIMELIGHTSAFETY YELLOW 20 NIMBUS Asics pwxqRp$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.

Femme Acheter Brown Marron Escarpins Plateau Inspiration D C Geox
$category = Category::first()->with('category');
// Génèrera un SELECT * FROM posts WHERE id IN (...) à l'avance
avec Gratuite C D Livraison DIM Marine LIVE q6PnS