Php Mongodb条令查询未加载引用对象
我有以下课程:Php Mongodb条令查询未加载引用对象,php,mongodb,symfony,doctrine-orm,Php,Mongodb,Symfony,Doctrine Orm,我有以下课程: /** * @MongoDB\Document */ class Expansion { /** * @MongoDB\Id */ protected $id; /** * @MongoDB\String */ protected $name; /** * @MongoDB\Document */ class Product { /** * @MongoDB\Id */
/**
* @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;
}
如果我有任何扩展的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}},但显然不起作用。你说明显不起作用是什么意思?price.product.number是否返回null、抛出异常或什么?解决了,我忘记在$db\u prices queryBuilder的末尾添加“->execute”