2017-10-12 1 views
0

J'utilise la propriété appends (et les méthodes getter associées) pour charger des informations supplémentaires sur un modèle dans Laravel 5.5. Cependant, l'un des appendices (percentage) dépend des deux autres appendices (current_score et maximum_score) déjà chargés et calculés. Cela signifie que, pour inclure percentage en tant qu'ajout et que cette propriété est exacte, les propriétés maximum_score et current_score doivent d'abord être calculées.Puis-je inclure un ajout sur un modèle Laravel 5 qui repose sur d'autres ajouts?

En d'autres termes, si j'écris mon tableau appends comme ceci:

protected $appends = [ 
    'maximum_score', 
    'current_score', 
    'score_percentage', 
]; 

Puis-je savoir de manière fiable que cet ordre sera respecté? IE, puis-je savoir que les propriétés maximum_score et current_score vont toujours toujours être défini avant score_percentage, ce qui me permet de les utiliser à la fois pour calculer le pourcentage? Ou y a-t-il une autre façon de gérer cela?

+0

Ces trois valeurs calculées sont-elles calculées via une méthode d'attribut getter? – Hyti

+0

Oui, vous pouvez. Mais ce n'est pas à propos de l'ordre. Même si vous chargez partition_percentage en premier (ou même le seul), il appellera inévitablement les 2 autres et les "chargera". – devk

Répondre

1

Oui, cela fonctionnera quel que soit l'ordre dans lequel vous les avez placés.