我有一个关于的简单问题(顺便说一句,真的很棒!)ODM理论。
假设您有一个文档,如下所示:
/**
* @Document
*/
class Test
{
/** @Id */
public $id;
/** @WHICHTYPE */
public $field = array();
}现在我想存储一个关联数组,如下所示
array("test" => "test1", "anothertest" => "test2", ......);在该类的$field属性中。
我知道对于收集来说没有问题,但是在Doctrine中,当我使用@ MongoDB或者简单地使用@Field值时,只有值被存储(例如,在映射驱动程序中使用array_values来进行集合)。因此,存储值如下所示
array("test1", "test2", ....)有人知道我应该使用哪种Doctrine-ODM映射类型来保留数据库中的键值对吗?
先谢谢你,
Andi (来自德国的问候)
发布于 2010-11-30 04:35:17
它应该是Hash类型:
http://readthedocs.org/docs/doctrine-mongodb-odm/en/latest/reference/annotations-reference.html?highlight=hash#hash
发布于 2016-09-20 20:23:57
对于ODM 2.0之前的版本,@Hash将提供必要的数据类型。然而,在ODM 2.0之后,@Hash字段将被删除。为了使用它,我们必须使用带有hash类型的@field。有关进一步的参考,请参阅[click here][1]
发布于 2018-05-11 23:01:01
我认为您正在寻找hash数据类型。不是你吗?
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @Document
*/
class Test
{
/** @Id */
public $id;
/**
* @MongoDB\Field(type="hash")
*/
public $field;
}https://stackoverflow.com/questions/4186140
复制相似问题