-1
votes

Comment puis-je produire des données de plusieurs-œs à la doctrine (Symfony 4)?

Ceci est mon "Données" d'entité:

array:2 [â–¼
  0 => Data {#7060 â–¼
    -id: 1
    -uuid: "12345"
    -content: "blabla"
    -fields: Fields {#7164 â–¼
      +__isInitialized__: false
      -id: 6
      -name: null
      -uuid: null
      -productgroup: null
      -type: null
       …2
    }
  }
  1 => Data {#7165 â–¶}
]


2 commentaires

Dupliqué possible de Entité de doctrine Symfony2 non hydratée


@Fabian ah ok! C'était me confondre!


3 Réponses :


1
votes

Cela se produit généralement lorsque vous déversez des objets avec des relations. Pour vérifier que la relation champs n'a pas de valeur null. Faites ceci:

dump($output[0]->getFields()->getName())


0 commentaires

1
votes

C'est parce que les relations de la doctrine ne sont pas chargées dans ce cas.

Si vous accédez à la relation avant, par exemple xxx

la relation sera effectivement chargée et le Les champs ne seront pas nuls si vous le déchargez ensuite

voir Relations et classes de proxy


0 commentaires

1
votes

Ceci est cause par la chargement paresseux de la doctrine afin d'éviter de surcharger des membres. Comme @AYTHANZT dit, si vous êtes en boucle des ennuis, vous pourrez accéder à leurs propriétés (lorsque vous êtes pour GetField () Doctrine déclenche une requête pour récupérer leurs données)

Vérifiez ceci pour afficher tous les champs enfants: Évitez de charger paresseux Doctrine Symfony2


2 commentaires

J'ai testé * @orm \ hétéytoone (credentity = "champs" fetch = "désireux") mais je reçois un message d'erreur


[Erreur de syntaxe] Doctrine attendue \ Common \ Annotations \ DOCLEXER :: T_CLOSE_PARTHESES, GOT 'FETCH' EN POSITION 37 dans la propriété App \ Entity \ Data :: $ champs.