Comment créer plusieurs nombreux dans de nombreuses relations pour les deux mêmes tables en utilisant Eloquent dans Laravel

StackOverflow https://stackoverflow.com//questions/21022111

Question

J'ai 2 tables 'utilisateur' et "contenu". Un utilisateur peut être un contenu préféré, alors j'utilise une table pivot user_content pour établir les nombreuses relations entre l'utilisateur et le contenu qu'ils ont porté. C'est bien.

Un utilisateur peut également acheter du contenu.Ce serait la même relation que ci-dessus (user_content) mais serait des données complètement différentes.

Comment configurer une relation comme celle-ci où la relation entre les tables est la même, mais le contenu est différent - peut-il être fait avec succès à Laravel en utilisant Eloquant? Ou y a-t-il une manière complètement différente que je devrais aborder cela?

Était-ce utile?

La solution

Il suffit de configurer une table user_Purchase et user_favorite contenant les champs user_id et content_id

puis configurez le modèle

comme

class User extends Eloquent{
    public function purchases()
    {
        return $this->belongsToMany('Content','user_purchase');
    }

    public function favorites()
    {
        return $this->belongsToMany('Content','user_favorite');
    }
}

class Content extends Eloquent{

    public function buyers()
    {
        return $this->belongsToMany('User','user_purchase');
    }

    public function favorites()
    {
        return $this->belongsToMany('User','user_favorite');
    }
}

La deuxième colonne indique la table pour vérifier les nombreux à de nombreuses relations

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top