Doctrine ODM中的EmbedMany文档的关联数组

时间:2015-01-08 15:59:44

标签: mongodb symfony doctrine-orm

我正在尝试使用字符串键创建一个embedMany关联的关联数组  我有一个名为sampleDocument的Document类,它在字段price上有一个n EmbedMany关系。

这就是我用关键字数组和字符串键设置price字段的方法:

$obj->setPrice(array('key1' => $priceObjOne, 'key2' => $priceObj2));

它将该数据插入到mongo中,如下所示:

{
  "prices": [
     {/*Price Object*/}, { /*Price Object*/ }
  ]
}

我要做的是为每个人设置一个字符串键。它已经在数组中有字符串键。但它不会将其插入Mongo。 我该如何通过呢?

1 个答案:

答案 0 :(得分:0)

您需要定义"价格"在你的对象中作为@Hash类型。 将“type”属性设置为“hash”,Doctrine将以关联数组的形式存储和检索值:

<?php
class SampleDocument
{
    /** @Hash */
    protected $prices = array();
}