Symfony 异常,使用控制器和树枝模板的数据库查询

Posted

技术标签:

【中文标题】Symfony 异常,使用控制器和树枝模板的数据库查询【英文标题】:Symfony Exception, DB query with controller and twig Template 【发布时间】:2018-05-23 18:09:24 【问题描述】:

我有一个控制器文件和一个树枝模板,但通信受到干扰。 例外是:

在渲染模板期间引发了异常(“生成迭代器时出错”)。

要么我仍然错过控制器文件中的某些内容,要么设置有问题。

我的对象是“ArticleCategory” 控制器:

namespace AppBundle\Controller;
use Pimcore\Controller\Configuration\ResponseHeader;
use Pimcore\Model\Asset;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Pimcore\Model\DataObject\ArticleCategory;
use Zend\Paginator\Paginator;


class ContentController extends FrontendController
 
    public function testroot1Action(Request $request)
       
        $articleCategory = new ArticleCategory\Listing(); 
        $articleCategory->setOrderKey('date');
        $articleCategory->setOrder('DESC');

        $paginator = new Paginator($articleCategory);
        $paginator->setCurrentPageNumber($request->get('page'));
        $paginator->setItemCountPerPage(5);
        var_dump($paginator);

        $this->view->content = $paginator;

    

树枝模板。异常来自我的 for in 循环。 “内容”的迭代工作:

% extends 'layout.html.twig' %
% block content % 


     dump(content)

   % for contents in content %

         dump(contents)        

    % endfor % 

% block content % 

还有什么事情要做还是有什么问题?

【问题讨论】:

【参考方案1】:

应该是:

% extends 'layout.html.twig' %
% block content %         

   % for content in contents %     

       // here you have access to a singular content object

    % endfor % 

% block content % 

【讨论】:

【参考方案2】:

啊不,不是这样! 我的Listing好像是空的!

$articleCategory = new ArticleCategory\Listing(); 

嗯,我稍后再测试一下,谢谢

【讨论】:

【参考方案3】:

这是可能的,因为你得到了一个 Laminas\Paginator\Paginator,当它有结果时它是可迭代的(在 foreach 中使用)。

当你第一次访问一个元素时,它是由你的 ORM 加载的(如 Doctrine),当出现错误时,如数据库中的无效条目,无法转换为 php 实体,就会出现此错误。

【讨论】:

以上是关于Symfony 异常,使用控制器和树枝模板的数据库查询的主要内容,如果未能解决你的问题,请参考以下文章

树枝模板内的异常处理

Symfony 错误:“在渲染模板期间引发了异常”

Symfony2 树枝模板中图像的路径

如何从 symfony 中删除树枝? [关闭]

Symfony Sonata Admin Bundle - 将带有树枝模板的自定义字段导出到 XLS

使用 Symfony 2 本地化树枝中的日期