12

(ちなみに本当に素晴らしいです!)DoctrineODMについて簡単な質問があります。

次のようなドキュメントがあるとします。

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

今、私は次のような連想配列を保存したい

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

そのクラスの$fieldプロパティ。

MongoDBには問題ありませんが、Doctrineでは、たとえば@Collectionまたは単に@Fieldを使用すると、値のみが格納されます(たとえば、array_valuesはコレクションのマッピングドライバーで使用されます)。したがって、保存された値は次のようになります。

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

データベースにキーと値のペアを保持するために使用するDoctrine-ODMマッピングタイプを知っている人はいますか?

前もって感謝します、

Andi(ドイツからのgreetz)

4

5 に答える 5

17

ハッシュタイプである必要があります。

http://readthedocs.org/docs/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html?highlight=hash#hash

于 2010-11-29T20:35:16.837 に答える
-5

@Arrayは機能するはずです。少なくとも同等のものがORMに存在します(@Column(type = "array"))

于 2010-11-16T12:49:20.820 に答える