我是 Symfony 的新手
我的控制器类中有一个简单的方法 indexAction:
function indexAction()
{
$em = $this->getDoctrine()
->getEntityManager();
$prods = $em->getRepository('EcommerceProductBundle:ProductData')->findBy(array('product'=>2));
return $this->render('EcommerceProductBundle:Page:index.html.twig', array(
'prods' => $prods
));
}
看起来效果很好,实际上在配置文件中可以看到查询,并且可以很好地检索实体。
Ecommerce\ProductBundle\Entity\ProductData Valid
Ecommerce\ProductBundle\Entity\ProductData Valid
Ecommerce\ProductBundle\Entity\Product Valid
Ecommerce\ProductBundle\Entity\Language Valid
Ecommerce\ProductBundle\Entity\ProductImage Valid
Ecommerce\ProductBundle\Entity\FileImage Valid
Ecommerce\ProductBundle\Entity\Product Valid
Ecommerce\ProductBundle\Entity\Language Valid
根据同 一篇文章Symfony 2 - Access mapped Object property form twig
我试图在我的树枝模板 (index.html.twig) 中调用Product实体的对象,如下所示
{% for prod in prods %}
Price: {{ prod.Product.price }}
{% endfor %}
它工作正常。如果我尝试调用ProductImage实体的对象,如下所示
{% for prod in prods %}
Image title: prod.ProductImage.title
or
{% for pimg in prod.ProductImage %}
{% endfor %}
我收到此错误:
Method "ProductImage" for object "Ecommerce\ProductBundle\Entity\ProductData" does not exist in EcommerceProductBundle:Page:index.html.twig at line 36
ProductImage 实体像Product Entity一样正确映射,为什么最后一个与第一个相反?