私が取り組んでいるプロジェクトでは、ウェブサイトに最新のニュース記事を5つ表示する必要があります。コントローラーで、次のコードを記述しました。
$news = $repository->createQueryBuilder('p')
->Where('p.contenttype = :type')
->setParameter('type', 'newsarticle')
->orderBy('p.lastedit', 'ASC')
->getQuery();
$latestnews = $news->getResult();
エラーメッセージが表示されるため、これは何らかの理由で機能しません。
「Array」のアイテム「url」は、34行目の「ShoutMainBundle:Default:page.html.twig」に存在しません。
ただし、に変更するgetResult();
とgetSingleResult();
機能しますが、表示されるのは1つのレコードのみです(これは、そのコードを使用するときに期待するものです)。
これは、私が何をすべきかについて行き詰まり、混乱しているところです。「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>