Bonjour,

j'ai chercher un peu mais vue que je ne comprends certaines partie d'Eloquent, je prefere demander.

Ce que je fais

Je créer des events avec une colonne:

  • grouped avec dedans un identifiant unique qui permet de dire que c'est 3 events sont groupé.
  • assigned_to ou il y a l'id de l'utilisateur qui est assigné à cet event.

Ce que je veux

C'est faire une sorte de paserelle entre l'identifiant unique et l'user_id pour avoir en sortie un tableau avec les ids des utilisateurs qui sont groupés avec le même identifiant unique.

Je ne sais pas trop si c'est clair.

table event
--
id => 16
assigned_to => 4
grouped => 080ad691299ff7b4ab0c5d6038c02d9a
--
id => 18
assigned_to => 3
grouped => 080ad691299ff7b4ab0c5d6038c02d9a
--
id => 19
assigned_to => 1
grouped => 080ad691299ff7b4ab0c5d6038c02d9a
GET /events/16
{
"id": 16,
"assigned_to": [1,3,4],
"grouped": "080ad691299ff7b4ab0c5d6038c02d9a"
}
Edit

C'est pas encore ca mais j'ai fais un truc comme ca.

public function getAssignedToAttribute($value)
    {
        $events = Event::where("grouped", $this->grouped)->each(function($event){
            return $event->id;
        });

        return $events;
    }

voila, voila
Merci, des bisous.

3 réponses


Pourquoi tu ne retournes pas directement $event->assigned_to plutôt que $event->id ?

Je crois que ca fait une sorte de boucle vue que assigned_to est un attribut ca appelle getAssignedToAttribute mais j'en suis plus trop sur.

Dans ce cas, fais-toi une autre méthode ? Du genre getRelatedUsers, getAssignedUsers, histoire de ne pas résoudre ça via les méthodes magiques du Model ?