Symfony “关键”;“卡特尔”;对于带有键的数组";0“;EagleShopBundle:global:product.html.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->

我试图连接两个表并在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()->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