在我正在进行的项目中,我需要在网站上展示 5 篇最新的新闻文章。在Controller中,我编写了以下代码:
$news = $repository->createQueryBuilder('p')
->Where('p.contenttype = :type')
->setParameter('type', 'newsarticle')
->orderBy('p.lastedit', 'ASC')
->getQuery();
$latestnews = $news->getResult();
由于某种原因,这不起作用,因为我收到错误消息:
第 34 行的“ShoutMainBundle:Default:page.html.twig”中不存在“Array”的项目“url”
但是,当我更改它时getResult();
,getSingleResult();
它可以工作,但只会显示一条记录(这是我使用该代码时所期望的)。
这就是我对自己应该做什么感到困惑和困惑的地方。我搜索了“如何在 symfony 中显示多条记录”,但没有找到答案。(如果答案已经存在,我提前为此道歉)。在普通的 PHP 中,我希望做一个 foreach 循环(无论如何都是类似的)来获得我需要的结果。但我也有一种感觉,要实现我想要的,我需要在 Twig 中做一些事情。但我不知道我需要做什么。
对此的任何帮助将不胜感激。
谢谢
编辑: 这是用于显示此的模板代码:
<section id="latestnews">
<h2>Latest News</h2>
<ul>
<li><a href="..{{ news.url }}" title="Read {{ news.title }}" />{{ news.title }}</a></li>
</ul>
</section>