Eloquent relation un peu bizarre

Par Amstramgram, il y a 7 ans


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:

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

p1ngouin, il y a 7 ans

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

Amstramgram, il y a 7 ans

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.

p1ngouin, il y a 7 ans

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 ?