Question

Disons que j'ai un fil de discussion (chose courante sur les réseaux sociaux) composé de différents éléments comme

  • Des messages texte
  • Messages vocaux
  • Images

Maintenant, il serait utile d'avoir une requête qui interroge tous les threadItems comme

thread->threadItems->orderBy('created_at')->get()

pour afficher les éléments côté client, j'ai besoin de savoir de quel type ils sont, je devrais donc attacher la classe aux modèles de la requête.

Existe-t-il un moyen de faire cela dans Eloquent ?J'ai pensé aux relations polymorphes car elles incluent la classe dans le tableau.Comme les types ci-dessus sont tous des threadItems mais n'ont pas d'attributs communs, je diviserais les modèles sur une couche de base de données, donc avoir une table par modèle semble raisonnable.

Existe-t-il un moyen de le faire avec élégance ?

Était-ce utile?

La solution

Laravel 4.1 introduira des relations polymorphes plusieurs-à-plusieurs.Ensuite, vous pouvez introduire un modèle de message « parent », qui concerne les messages texte, les messages vocaux et les images de votre « enfant » dans une matière polymorphe ?

Certaines informations connexes peuvent être trouvées ici :

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