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 异常,使用控制器和树枝模板的数据库查询的主要内容,如果未能解决你的问题,请参考以下文章