gpt4 book ai didi

php - 用原则 2 设置 LIMIT?

转载 作者:行者123 更新时间:2023-12-03 06:00:12 28 4
gpt4 key购买 nike

我试图编写一个查询(带有子查询),但我不知道如何在子查询中设置限制。我的查询:

$query_ids = $this->getEntityManager()
->createQuery(
"SELECT e_.id
FROM MuzichCoreBundle:Element e_
WHERE [...]
GROUP BY e_.id")
->setMaxResults(5);

$query_select = "SELECT e
FROM MuzichCoreBundle:Element e
WHERE e.id IN (".$query_ids->getDql().")
ORDER BY e.created DESC, e.name DESC";

$query = $this->getEntityManager()
->createQuery($query_select)
->setParameters($params);

但是->setMaxResults(5)不起作用。 SQL 查询中没有 LIMIT。我们可以用原则 2 做简单的 LIMIT 吗?

最佳答案

$query_ids = $this->getEntityManager()
->createQuery(
"SELECT e_.id
FROM MuzichCoreBundle:Element e_
WHERE [...]
GROUP BY e_.id")
->setMaxResults(5)
->setMaxResults($limit)
;

在第二个查询中,应传递第一个查询的结果..

$query_select = "SELECT e
FROM MuzichCoreBundle:Element e
WHERE e.id IN (".$query_ids->getResult().")
ORDER BY e.created DESC, e.name DESC"
;


$query = $this->getEntityManager()
->createQuery($query_select)
->setParameters($params)
->setMaxResults($limit);
;

$resultCollection = $query->getResult();

关于php - 用原则 2 设置 LIMIT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8554119/

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