2017-05-26 1 views
0

Je suis nouveau à Symfony et je me demandais comment j'y arriverais: je récupère des données d'une entité et un champ est en JSON. Il référence des données d'autres entités que je voudrais convertir en objets. Voici un exemple:Conseil de Symfony 3: récupérer des données d'une autre entité

// JSON received 
{items:"221,223",level:1,places:"12,15,17"} 

Je veux que cela soit transformé en:

Array(
    'items' => array(
     0 => Object(MyBundle/Entity/Item), 
     1 => Object(MyBundle/Entity/Item) 
    ), 
    'level' => 1, 
    'places' => array(
     0 => Object(MyBundle/Entity/Place), 
     1 => Object(MyBundle/Entity/Place) 
    ), 
) 

Quelle serait la meilleure façon pratique de récupérer ces Item objets comme appeler une entité d'une autre entité n'est pas un bon idée?

J'ai pensé à les sérialiser car les objets embarqués seront plutôt petits, mais est-ce la meilleure solution? Le JSON peut contenir beaucoup d'autres entités, ou aucun, le contenu n'est pas corrigé.

Répondre

0

J'ai fini par sérialiser mes objets et les enregistrer dans la base de données. L'ensemble du processus est géré par Symfony lui-même, car le champ de la table a été déclaré object. Je ne sais pas si c'est la manière préférée de le faire mais elle correspond parfaitement à mes besoins, et AFAIK cela ne casse aucune logique.

De plus les objets qui sont sérialisés sont vraiment petits donc pour l'instant je ne vois aucun inconvénient.

0

Il semble que vous ayez besoin d'utiliser la relation OneToMany pour votre entité. Il vous donnera un tableau d'objets. Check out out: http://symfony.com/doc/current/doctrine/associations.html

+0

Merci, l'entité a déjà une relation OneToMany. Je pense que je n'étais pas assez précis dans ma question, je l'édite car l'objet JSON contiendra d'autres entités, pas seulement une. – Cryborg