Laravel HasManyThrough ou BelongsToMany ne fonctionnent pas dans mon cas. Est-ce un problème de structure de base de données ?
P粉505450505
P粉505450505 2023-09-05 09:33:50
0
1
478
<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粉505450505
P粉505450505

répondre à tous(1)
P粉970736384

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');
    }
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal