我有这些课程:
/**
* @MongoDB\Document
*/
class Expansion
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\String
*/
protected $name;
/**
* @MongoDB\Document
*/
class Product
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\ReferenceOne(targetDocument="Expansion")
*/
protected $expansion;
/**
* @MongoDB\String
*/
protected $number;
}
/**
* @MongoDB\Document
*/
class Price
{
/**
* @MongoDB\Id
*/
protected $id;
/**
* @MongoDB\ReferenceOne(targetDocument="Product")
*/
protected $product;
}
如果我有任何Expansion的ID,我可以加载他提到的产品的每一个价格:
$db_expansion = $dm->getRepository('SampleCollectionBundle:Expansion')->findOneById($expansionId);
$db_product = $dm->createQueryBuilder('SampleCollectionBundle:Product')->select('id')->field('expansion')->references($db_expansion)->getQuery()->toArray();
$product_ids = array_keys($db_product);
$db_prices = $dm->createQueryBuilder('SampleCollectionBundle:Price')->field('product.id')->in($product_ids)->getQuery();
但是这个查询只返回简单的Price对象,我怎样才能得到(顺便说一下)Twig,产品的数字?我试过{{ price.product.number }}
,但显然不起作用。