Maison  >  Questions et réponses  >  le corps du texte

Laravel HasManyThrough ou BelongsToMany ne fonctionnent pas dans mon cas. Est-ce un problème de structure de base de données ?

<p>J'ai 3 tables : </p> <pre class="brush:php;toolbar:false;">tableau des produits -identifiant - titre - etc.</pré> <pre class="brush:php;toolbar:false;">tableau des achats -identifiant -code - etc.</pré> <pre class="brush:php;toolbar:false;">tableau purchase_products -identifiant - achat_id - identifiant_produit -quantité - etc.</pré> <p>Mon objectif est de récupérer les achats d'un seul produit. La relation suivante ne fonctionne pas pour moi. J'ai essayé différentes approches en utilisant <code>belongsToMany</code> </p> <pre class="brush:php;toolbar:false;">$this->hasManyThrough( Achat ::classe, AchatProduit::classe, 'id_achat', 'id_produit', 'identifiant', 'identifiant' );</pré> <p>D'une manière simple, je peux obtenir tous les produits achetés par product_id, puis récupérer les articles achetés, mais j'ai besoin d'une relation pour que cela fonctionne dans Laravel nova car je souhaite afficher les articles achetés sur la ressource. </p>
P粉505450505P粉505450505433 Il y a quelques jours464

répondre à tous(1)je répondrai

  • P粉970736384

    P粉9707363842023-09-06 00:59:30

    Modèle de produit

    class Product {
        public function purchases()
        {
             return $this->belongsToMany(Purchase::class, 'purchase_products', 'product_id', 'purchase_id');
        }
    }

    Mode d'achat

    class Purchase {
        public function products()
        {
             return $this->belongsToMany(Product::class, 'purchase_products', 'purchase_id', 'product_id');
        }
    }

    répondre
    0
  • Annulerrépondre