gpt4 book ai didi

php - 原则 2 - 如何将 SQL ORDER 连接到另一个表

转载 作者:行者123 更新时间:2023-11-29 07:55:56 32 4
gpt4 key购买 nike

我想从数据库中检索新闻和评论表。这些表关联正确。问题是我也想订购评论表。一切正常,包括排序(使用 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 代码

{% for comment in fetched_news.comments %}
//displaying data
{% endfor %}

我知道我可以分别检索新闻表和评论表,但将其包含在一个请求中是更好的主意。

有人想帮忙吗?:)

最佳答案

这可能有效,假设...

新闻实体看起来像这样:

/**
* News
*
* @ORM\Table(name="News")
* @ORM\Entity()
*/
class News {
...
/**
* @ORM\OneToMany(targetEntity="comment", mappedBy="news", cascade={"persist", "remove"})
* @ORM\OrderBy({"dateAdd" = "DESC"})
*/
protected $comments;
...
}

Controller 包括$news = $em->getRepository("YourBundle:News")->find($id);

模板包括(假设新闻实体中名为 item 的列和评论实体中名为 comment 的列):

{% for event in news %}
{{ event.item }}
{% for piece in event.comments %}
{{ piece.comment }}
{% endfor %}
{% endfor %}

关于php - 原则 2 - 如何将 SQL ORDER 连接到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25164187/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com