我想从数据库新闻和评论表中检索。这些表格正确相关。 问题是我也想要ORDER评论表。一切正常包括订购(使用ASC和DESC)。
PHP代码
$query = $doctrine->getManager()
->createQuery(
'SELECT news FROM BlogAdminBundle:News news
JOIN news.comments comments
WHERE news.id = :id
AND news.date_active < :date ORDER BY comments.dateAdd DESC'
)->setParameters(array('date' => new \DateTime(), 'id' => $news_id));
$fetched_news = $query->getSingleResult();
return array('fetched_news' => $fetched_news);
TWIG CODE
{% for comment in fetched_news.comments %}
//displaying data
{% endfor %}
我知道我可以单独检索新闻表和评论表,但想法将其包含在一个请求中是更好的主意。
有人想帮忙吗?:)
答案 0 :(得分:2)
这可能有用,假设......
新闻实体看起来像这样:
/**
* News
*
* @ORM\Table(name="News")
* @ORM\Entity()
*/
class News {
...
/**
* @ORM\OneToMany(targetEntity="comment", mappedBy="news", cascade={"persist", "remove"})
* @ORM\OrderBy({"dateAdd" = "DESC"})
*/
protected $comments;
...
}
控制器包含$news = $em->getRepository("YourBundle:News")->find($id);
模板包括(假设新闻实体中名为item
的列和注释实体中名为comment
的列:
{% for event in news %}
{{ event.item }}
{% for piece in event.comments %}
{{ piece.comment }}
{% endfor %}
{% endfor %}