Which mapping type to choose for associative Arrays? Doctrine ODM

Andreas Schmidt picture Andreas Schmidt · Nov 15, 2010 · Viewed 7.1k times · Source

I have a simple question about the (by the way really great!) Doctrine ODM.

Assume you have a document like:

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

Now i want to store an associative array like

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

In the $field property of that class.

No problem for MongoDB, I know, but in Doctrine when I use for example @Collection or simply @Field, only the values are stored (array_values is being used in the mapping driver for collection for example). So the stored value looks like

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

Does anyone know which Doctrine-ODM mapping type I should use in order to preserve the key-value pairs in the database?

Thank you in advance,

Andi (greetz from germany)