2010-11-15 4 views
12

J'ai une question simple à propos de la Doctrine ODM (en passant vraiment super!).Quel type de mappage choisir pour les tableaux associatifs? Doctrine ODM

Supposons que vous avez un document comme:

/** 
* @Document 
*/ 
class Test 
{ 
    /** @Id */ 
    public $id; 
    /** @WHICHTYPE */ 
    public $field = array(); 
} 

Maintenant, je veux enregistrer un tableau associatif comme

array("test" => "test1", "anothertest" => "test2", ......); 

Dans la propriété du champ $ de cette classe.

Aucun problème pour MongoDB, je sais, mais dans Doctrine quand j'utilise par exemple @Collection ou simplement @Field, seules les valeurs sont stockées (array_values ​​est utilisé dans le pilote de mappage pour la collection par exemple). Ainsi, la valeur stockée ressemble

array("test1", "test2", ....) 

Est-ce que quelqu'un sait quel type de cartographie Doctrine-ODM j'utiliser afin de préserver les paires clé-valeur dans la base de données?

Nous vous remercions à l'avance,

Andi (greetz Allemagne)

Répondre

-5

@array devrait fonctionner. Au moins un équivalent existe dans le ORM (@Column (type = "tableau"))

+4

Ceci est une vraie réponse inutile – Chris

1

Pour les versions antérieures ODM 2.0 @Hash fournira le nécessaire Type de données. Cependant, après la suppression du champ ODM 2.0 @Hash. Pour l'utiliser, nous devons utiliser @field avec un hash de type. Pour référence supplémentaire [click here][1]

Questions connexes