Bonjour,

Je vous expliques mon problème.
J'ai actuellement une Table User (rien de plus classique)
Et une table Group.
Un Group peux contenir plusieurs User, et un User peut appartenir à plusieurs Group.

Dans ma classe Group :

    public function users() {
        return $this->belongsToMany(User::class);
    }

Dans ma classe User :

    public function groups() {
        return $this->belongsToMany(Group::class);
    }

Mon soucis est : Je souhaiterais delete un Group quand tout les Users sont Detach ou quand tout les Users ont été delete (ce qui reviens au même)

Je ne sais pas comment faire de manière "propre", dois-je créer un event et des listenners ?

1 réponse


Salut, je te recommande de regarder le tutoriel de @Grafikart belongsToMany : Système de tags et d'adapter à tes besoins. Je pense qu'il met un système de count et quand le count est égal à zéro, il delete l'élement.