Maison  >  Questions et réponses  >  le corps du texte

Problème de sortie

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)

Imagine BreakerImagine Breaker2258 Il y a quelques jours1630

répondre à tous(6)je répondrai

  • jesse

    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 :

    QQ截图20180907224207.png

    répondre
    0
  • Imagine Breaker

    Comment avez-vous envoyé la capture d’écran et comment l’avez-vous utilisée ? De plus, la vidéo ne dit-elle pas que tous sélectionnent et renvoient un tableau d'objets modèles ?

    Imagine Breaker · 2018-09-08 09:35:52
    Imagine Breaker

    D'accord, je comprends, désolé pour l'inverse, merci ! Mais comment avez-vous inséré l’image ? Je n’ai pas vu l’option pour insérer des images.

    Imagine Breaker · 2018-09-08 09:40:13
  • jesse

    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.

    répondre
    0
  • jesse

    jesse2018-09-07 14:27:18

    Lisez d'abord les instructions du manuel officiel :

    QQ截图20180907141025.jpg

    Ensuite, regardez le code source sous-jacent :

    QQ截图20180907141312.jpg

    QQ截图20180907141700.jpg

    QQ图片20180907141926.png

    QQ截图20180907142024.jpg

    QQ截图20180907142220.jpg

    Le manuel officiel masque de nombreux détails et explique directement les résultats

    QQ截图20180907142316.jpg

    Dernière question, pourquoi les résultats renvoyés peuvent-ils être parcourus ?

    QQ截图20180907142514.jpg

    QQ截图20180907142446.jpg

    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.

    répondre
    0
  • jesse

    Étant donné que le jeu de résultats renvoyé est un objet, la valeur de l'attribut interne doit être obtenue via un parcours de tableau. L'attribut data est le jeu de résultats de la requête de base de données.

    jesse · 2018-09-07 14:31:41
  • Annulerrépondre