【发布时间】:2016-01-28 08:17:13
【问题描述】:
我正在尝试加入两个表并在 twig 模板中打印一个值,但我遇到了这个问题。
这是我的控制器操作。
/**
* @Route("products/display/{id}")
* @Template()
*/
public function displayAction($id) {
$em = $this->container->get('doctrine.orm.entity_manager');
$qb = $em->createQueryBuilder();
$qb->select('p, pc.catTitle')
->from('EagleShopBundle:Products', 'p')
->leftJoin('EagleShopBundle:ProductCategory', 'pc', \Doctrine\ORM\Query\Expr\Join::WITH, 'pc.id = p.category')
->where($qb->expr()->eq('p.id', '?5'))
->setParameter(5, $id);
$product = $qb->getQuery()->getOneOrNullResult();
return $this->render("EagleShopBundle:global:product.html.twig", array(
'product' => $product,
'image_path' => '/bundles/eagleshop/images/'
));
}
这是我与问题相关的树枝文件行,
<h1>{{product.productTitle}}</h1>
我猜问题与这条线有关
$qb->select('p, pc.catTitle')
这是我得到的错误,
键为“0,catTitle”的数组的键“productTitle”不存在 EagleShopBundle:global:product.html.twig
【问题讨论】:
-
这两个实体之间有关系吗?也许你可以在这里粘贴
Products实体代码? -
是的,当我尝试 $qb->select('p.productTitle, pc.catTitle') 时,它可以工作。但我也需要其他文件...
-
好的,给我几分钟 - 我正在写答案