2010-11-15 9 views
12

Tengo una pregunta simple sobre el (por cierto realmente genial) Doctrine ODM.¿Qué tipo de asignación elegir para matrices asociativas? Doctrina ODM

Suponga que tiene un documento como:

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

ahora quiero almacenar una matriz asociativa como

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

En el campo de la propiedad $ de esa clase.

No hay problema para MongoDB, lo sé, pero en Doctrine cuando uso, por ejemplo, @Collection o simplemente @Field, solo se almacenan los valores (array_values ​​se utiliza en el controlador de asignación para la recopilación, por ejemplo). Por lo que el valor almacenado se parece

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

¿Alguien sabe lo que Doctrina-ODM tipo de asignación que debe utilizar con el fin de preservar los pares de valores clave en la base de datos?

gracias de antemano,

Andi (greetz de Alemania)

Respuesta

-5

@array debería funcionar. Al menos existe un equivalente en el ORM (@Column (tipo = "array"))

+4

esta es una respuesta realmente inútil – Chris

1

Para las versiones antes de ODM 2,0 @Hash proporcionará el necesario tipo de datos. Sin embargo, después de eliminar el campo ODM 2.0 @Hash. Para usarlo tenemos que usar @field con tipo hash. Para mayor referencia [click here][1]

Cuestiones relacionadas