gpt4 book ai didi

doctrine-orm - DQL - 选择多个字段,但只获取一个 - 从结果集中隐藏字段

转载 作者:行者123 更新时间:2023-12-04 04:22:28 26 4
gpt4 key购买 nike

鉴于以下 DQL 查询:

SELECT
p,
(p.views * 0.1) + (p.likes * 0.9) as ratingPhoto
FROM
AppBundle:Photo p
ORDER BY
ratingPhoto DESC

我的结果集如下所示:
array (size=14)
0 =>
array (size=2)
0 => object(Photo)
'ratingPhoto' => string '1.42' (length=4)
1 =>
array (size=2)
0 => object(Photo)
'ratingPhoto' => string '1.31' (length=4)
...

是否有任何 DQL 功能以便我只检索 Photo对象并从结果集中排除其他选定的字段?这是我期望的结果:
array (size=14)
0 => object(Photo)
1 => object(Photo)
...

最佳答案

您正在寻找的是 ORDER 中的计算值条款和 HIDDEN 关键词。

通常,您必须执行以下操作:

SELECT
a,
b,
(SOME_COMPUTATION()) AS computed
FROM
...
ORDER BY
computed ASC

“隐藏” computed结果集中的值,从 Doctrine ORM 2.3 开始,您可以使用 HIDDEN条款:
SELECT
a,
b,
(SOME_COMPUTATION()) AS HIDDEN computed
FROM
...
ORDER BY
computed ASC

这就是您的 DQL 的样子:
SELECT 
p,
(p.views * 0.1) + (p.likes * 0.9) AS HIDDEN ratingPhoto
FROM
AppBundle:Photo p
ORDER BY
ratingPhoto DESC

关于doctrine-orm - DQL - 选择多个字段,但只获取一个 - 从结果集中隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15636147/

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