【发布时间】:2012-01-18 08:22:03
【问题描述】:
我有一个关于 php 中的 Doctrine 2 MongoDB ODM 的问题。
所以我有一个 EntityA 并且在 EntityA 内我想通过 EntityB 的 EntityB 引用 EntityB强>ObjectId。所以在 EntityA 我有一个带有以下 Docblock 的 variableA:@ODM\ReferenceOne(targetDocument="EntityB", simple="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 而不是整个产品?
【问题讨论】:
标签: php mongodb doctrine-odm