Symfony “关键”;“卡特尔”;对于带有键的数组";0“;EagleShopBundle:global:product.html.twig中不存在
我试图连接两个表并在twig模板中打印一个值,但我遇到了这个问题 这是我的控制器动作Symfony “关键”;“卡特尔”;对于带有键的数组";0“;EagleShopBundle:global:product.html.twig中不存在,symfony,doctrine,twig,Symfony,Doctrine,Twig,我试图连接两个表并在twig模板中打印一个值,但我遇到了这个问题 这是我的控制器动作 /** * @Route("products/display/{id}") * @Template() */ public function displayAction($id) { $em = $this->container->get('doctrine.orm.entity_manager'); $qb = $em->
/**
* @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()->getResult();
return $this->render("EagleShopBundle:global:product.html.twig", array(
'product' => $product,
'image_path' => '/bundles/eagleshop/images/'
));
}
这是我和这个问题有关的细枝文件行
<small class="pr_type">{{product.catTitle}}</small>
{{product.catTitle}
但是我没有打印“catTitle”而是有了这个问题
中不存在键为“0”的数组的键“catTitle”
EagleShopBundle:global:product.html.twig
它很简单:
getResult()
返回一个对象数组,即使只有一个。如果您希望此查询只返回一个对象,请使用getOneOrNullResult()
。但在此之后,在显示结果之前,您需要检查smth是否返回(例如:product instanceof Products
)或null是否返回。很简单:getResult()
返回一个对象数组,即使只有一个。如果您希望此查询只返回一个对象,请使用getOneOrNullResult()
。但在此之后,在显示结果之前,您需要检查是否返回了smth(例如:product instanceof Products
)或返回了null