Laravel 5

Requêtes pour afficher les données de deux tabes

  • Avatar de RyanKeli
    Membre depuis :
    11/04/2017
    Messages :
    33

    Bonjour la communauté de Laravel,

    j'aimerais savoir comment afficher les produits d'une catégorie en mettant le nom de la catégorie comme le titre des produits affichés. Exemple :
    Ordinateurs
    -HP
    -Aser
    _Samsung

    Téléphones Portables

    • iPhone
    • Itel
    • Infinix
    • ...

    Voici mes deux modèles Produits(id, designation, prix) et Catégories(id, libelle)

    Merci

  • Avatar de g_bu
    Membre depuis :
    29/06/2018
    Messages :
    8

    Bonjour,
    Dans ton controller:

    $categories = Categories::with('produits')->get();
    return view('tavue')->withCategories($categories);

    Dans ta vue:

    @foreach($categories as $cat)
    <h1>{{ $cat->libelle }}</h4></td>
    @foreach($cat->produits as $produit)
    {{ $produit->designation }} <br />
    @endforeach
    @endforeach
  • Avatar de RyanKeli
    Membre depuis :
    11/04/2017
    Messages :
    33

    Bonjour,

    Merci g_bu pour ta reponse.
    J'aimerais signaler qu'il existe entre les deux modèles une relation hasMany et belongsTo.

    Merci,
    Cordialement.

  • Avatar de RyanKeli
    Membre depuis :
    11/04/2017
    Messages :
    33

    Dans la classe Produits :

    public function categories ()
    {
    return $this->belongsTo(Categories::class);
    }

    Dans la classe Categories :

    public function produits ()
    {
    return $this->hasMany(Produits::class);
    }

    Pour plus de précision.

    Merci

  • Avatar de RyanKeli
    Membre depuis :
    11/04/2017
    Messages :
    33

    Merci beaucoup g_bu. J'ai fait des tests avec la reponse que vous m'avez donné. Vraiment merci. Je suis très content.

    Cordialement

Vous ne pouvez pas répondre à ce sujet.