Maison > Questions et réponses > le corps du texte
Pourquoi ne pouvez-vous pas vider ($result->getData()) directement après $result = Staff::select($where), au lieu de parcourir le tableau pour chaque ($result as $value)
jesse2018-09-07 22:40:57
Prenez d'abord une capture d'écran officielle pour confirmer l'exactitude de mon analyse du code source sous-jacent :
jesse2018-09-07 14:49:33
Il y a encore plusieurs aspects à discuter sur ce problème :
1 Puisque les données existent dans l'attribut data, comment déterminer qu'il s'agit de l'attribut data et supprimer l'ensemble de données lors de la traversée de l'objet
2. est juste un objet Model. Si c'est le cas, comment l'objet Collection l'implémente-t-il ?
ArrayAccess devrait apparaître lorsque ces deux problèmes surviennent. Je le mettrai à jour à mon retour dans la soirée, afin que vous puissiez vraiment comprendre le mécanisme de fonctionnement sous-jacent de la traversée d'objets.
jesse2018-09-07 14:27:18
Lisez d'abord les instructions du manuel officiel :
Ensuite, regardez le code source sous-jacent :
Le manuel officiel masque de nombreux détails et explique directement les résultats
Dernière question, pourquoi les résultats renvoyés peuvent-ils être parcourus ?
La classe Model et la classe Collection implémentent la même interface ArrayAccess, afin que vous puissiez accéder aux propriétés de l'objet comme accéder au tableau.