Php 在条令中向文档添加属性
我对MongoDb在Symfony使用Doctrine完全是新手,目前我的情况如下:Php 在条令中向文档添加属性,php,mongodb,symfony,doctrine-orm,doctrine,Php,Mongodb,Symfony,Doctrine Orm,Doctrine,我对MongoDb在Symfony使用Doctrine完全是新手,目前我的情况如下: MyDocument{ property1:key1, property2:[{{MyDocument2},additionalProperty:key},...] .... } 在教义中,我有这样的东西: class MyDocument{ /** *@MongoDB\String */ $property1; /** *
MyDocument{
property1:key1,
property2:[{{MyDocument2},additionalProperty:key},...]
....
}
在教义中,我有这样的东西:
class MyDocument{
/**
*@MongoDB\String
*/
$property1;
/**
*@MongoDB\ReferenceMany(targetDocument="MyDocument2")
*/
$property2 = array();
}
基本上,我的问题是如何将附加属性附加到条令中的“MyDocument2”中。我想我必须创建一个辅助文档,其中包含“MyDocument2”和“additionalProperty”的聚合,有没有更简单的方法来实现这一点
谢谢 为了解决这个问题,我开始玩继承。我创建了一个父类,然后创建了一个从父类扩展而来的子类。当我需要的时候,我试着投给儿童班,但没有成功…:(在对继承进行测试后,我通过以下方式解决了问题: 1) 我创建了基本对象类“MyDocument2” 2) 我创建了一个具有以下结构的辅助类:
class AuxiliaryDocument{
/**
*@MongoDB\ReferenceOne(targetDocument="MyDocument2")
*/
$myDocument;
/**
*@MongoDB\String
*/
$additionalProperty;
}
3) 辅助对象实现后,我只需将MyDocument类中的类型更改为:
/**
*@MongoDB\ReferenceMany(targetDocument="AuxiliaryDocument")
*/
$property2 = array();
我认为这不是解决问题的最优雅的方法,但我认为这是一种快速解决问题的方法