我有一个问题涉及到Doctrine 2 MongoDB ODM在PHP中。学说2 MongoDb ODM参考
所以我有一个EntityA和内EntityA我想通过引用EntityB EntityB的的ObjectId。所以在EntityA我有一个变量A与以下Docblock:@ODM \ ReferenceOne(targetDocument =“EntityB”,简单=“true”)。
问题是,当我致电使用setMethod它整个EntityB的套入EntityA,而不仅仅是OBJECTID这是我想做些什么。
基本上EntityA看起来是这样的:
ENTITYA {
randomFieldA,
randomFieldB,
EntityB ObjectId
}
有谁知道我要的是能够像我怎么都试过?或者有人知道更好的方法?
基本上是这样的例子:
/** @Document */
class TopCategory
{
/** @EmbedMany(targetDocument="SubCategory") */
private $subCategories;
}
/** @EmbeddedDocument */
class SubCategory
{
/** @ReferenceOne(targetDocument="Product") */
private $product;
}
/** @Document */
class Product
{
/** @id */
private $id;
/** @String */
private $name;
}
现在我该怎样只存储在subCategory->product
的产品的ID,而不是整个产品?
所以就像我的产品示例。子类别 - >产品只包含产品的ID? – user1154863 2012-01-18 00:08:56
此外,您何时使用参考,何时使用嵌入? – user1154863 2012-01-18 00:09:21
@ user1154863不,“SubCategory”的'product'属性将包含“Product”类型的对象。我已经用更多信息更新了我的答案 – Phil 2012-01-18 00:19:56