[英]Symfony 2 - How to display joined Doctrine entities in Twig template
fetched_news.comments.content
fetched_news.comments.content
or 要么
fetched_news.news.content
fetched_news.news.content
I was looking for the answer on many pages, but I couldn't find something interesting. 我在很多页面上都在寻找答案,但是找不到任何有趣的东西。
From twig: 从树枝:
{% for news in fetched_news %}
<div class="col-md-5">
<p class="news_title">{{ news.title }}</p>
{{ (news.content|slice(0,600))|raw }}
{{ news.ratePlus }} {# CAN'T GET THIS!#}
{% else %}
{% endfor %}
From Controller: 从控制器:
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$query = $em->createQuery("SELECT n, a FROM BlogAdminBundle:News n JOIN n.comments a");
$fetched_news = $query->getResult();
return array('fetched_news' => $fetched_news);
}
Code from Web Profiler Web Profiler中的代码
SELECT
n0_.id AS id0,
n0_.content AS content1,
n0_.title AS title2,
n0_.date_add AS date_add3,
n0_.date_active AS date_active4,
n0_.settings AS settings5,
c1_.id AS id6,
c1_.content AS content7,
c1_.date_add AS date_add8,
c1_.rate_plus AS rate_plus9,
c1_.rate_minus AS rate_minus10,
n0_.user_id AS user_id11,
c1_.user_id AS user_id12,
c1_.news_id AS news_id13
FROM
News n0_
INNER JOIN Comments c1_ ON n0_.id = c1_.news_id
Thanks for help! 感谢帮助!
Entity class Comments: 实体类评论:
/**
* @ORM\ManyToOne(targetEntity="News", inversedBy="comments")
* @ORM\JoinColumn(name="news_id", referencedColumnName="id")
*/
protected $news;
Entity class News: 实体类新闻:
/**
* @ORM\OneToMany(targetEntity="Comments", mappedBy="news")
*/
protected $comments;
public function __construct()
{
$this->comments = new \Doctrine\Common\Collections\ArrayCollection();
}
Given the following code: 给出以下代码:
$repository = $this->getDoctrine()->getRepository('BlogAdminBundle:News');
$query = $repository->createQueryBuilder('p')
->where('p.date_active < :date')
->setParameter('date', new \DateTime())
->getQuery();
$fetched_news = $query->getResult();
This should work in twig: 这应该在树枝上工作:
{% for news_article in fetched_news %}
{{ news_article.content }}
{% for comment in news_article.comments %}
{{ comment.content }}
{% endfor %}
{% endfor %}
Each of your news articles has an array of comments. 您的每篇新闻文章都有一系列评论。 I think you're just getting a little mixed up with your
$fetched_news
variable =). 我认为您只是将
$fetched_news
变量=) $fetched_news
。
Edit: I had a small mistake in my code. 编辑:我在代码中有一个小错误。 I had
fetched_news.news
in the outer loop, and that should be just feteched_news
since that variable is the array of news articles. 我在外循环中有
fetched_news.news
,那应该只是feteched_news
因为该变量是新闻文章的数组。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.