2010-11-15 6 views
12

Ho una semplice domanda sulla (a proposito davvero grande!) Dottrina ODM.Quale tipo di mappatura per scegliere per gli array associativi? Dottrina ODM

Si supponga di avere un documento simile:

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

Ora voglio per memorizzare un array associativo come

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

Nella proprietà $ campo di quella classe.

Nessun problema per MongoDB, lo so, ma in Doctrine quando utilizzo ad esempio @Collection o semplicemente @Field, solo i valori vengono memorizzati (array_values ​​viene utilizzato nel driver di mapping per la raccolta, ad esempio). Quindi il valore memorizzato appare come

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

Qualcuno sa che Dottrina-ODM mapping dovrei usare al fine di preservare le coppie chiave-valore nel database?

Grazie in anticipo,

Andi (greetz, Germania)

risposta

-5

@array dovrebbe funzionare. Almeno un equivalente esiste nel ORM (@Column (type = "matrice"))

+4

questo è un vero risposta inutile – Chris

1

Per versioni prima ODM 2,0 @Hash fornirà il necessario tipo di dati. Tuttavia dopo la rimozione del campo ODM 2.0 @Hash. Per usarlo dobbiamo usare @field con tipo hash. Per ulteriore riferimento [click here][1]